First, Houdini is amazing. Full stop. Second, this luxury is not shared by the vast amount of people I work with: University Students and Health Researchers. I apply graphics research to scientific contexts. I am lucky enough to have funds in the past to get an Nvidia GPU in order to do physics simulations for the NSF. Specifically, VDBs are the innovation that allowed for the science to be computable at all.
This is highlighted by this talk where the HP team uses Houdini as a Computational Design Engine to process millions of holes in a mesh for manufacturing with VDB:
Houdini starting at Timestamp: 12min
Computational Disruption: Design Engines & Additive’s Untapped Potential -Nathan Shirley - CDFAM 23 [
www.youtube.com]
It is very likely that Houdini becomes an educational tool not only a "DCC". Which in my opinion would be an enlightenment.
It seems to be that SideFx shares this ambition with all the HoudiniEDU and recent conference at Breda University of Applied Sciences.
Everything Procedural Conference | Houdini Connect [
vimeo.com]
Houdini is sophisitcated but also boarderline unusable. The bloat is incredible and the experience is not good for people new. This is very important when creating large scale collaborative science. In all the applied projects I have done in the past year, none of 6 PhD students could on-board.
At the same time, there are so many hidden gems and graphics history in it. I look forward a semantic search and a notebook environment that I am developing so that we can formalize the shared knowledge and apply it.
Julia is a jit compiled language with a C API that uses LLVM to compile to machine code. At CERN, they wrap fortran in Julia. That is one of the first applications of Julia was to update Fortran code bases at large National Labs and NASA.
Another big aspect to Julia is Autodifferentiation and Symbolic Computing.
Julia is "new" not immature. It has been tested in large critical deployments on all systems.
Julia is primarily not "Corporate" technology since MIT maintains most of it.
The point of Julia is that the "implementation machine code" is abstracted so that peole can focus on sematic ways of making.
I am not going to then tell a student to go buy a new computer to learn. That is un-ethical.
My job is to make sure I scout and provide the best technology and design services so that medical practicitoners can save lives. I see the potential to save many lives with the work that could be done with Houdini.
Right now, it is just as likely that I just bybass Houdini for a custom tool I develoop but then I have a lot of technical debt that will now have to be funded to develop. I would much rather get the basic functionality on MacOS that is core to the new experiences with 20.5 and I can build more complex on that.
I also asked earlier if I could build a Metal renderer using the OpenGL python panel render example and a scene grpah and no insights were given. I know you can multithread using the viewer refresh rate etc.
I undertand DCC tools are tough. I am trying to highlight the importance and the implications that are being realized with MacOS not being supported. Metal is new and Apple recently introducted their raytracing so I understand. Vulkan is a new technology for an old technology pradigm.
Here goes over KernelAbstractions.jl and ShaderAbstractions.jl and that Vulkan is not really being developed for:
Vulkan + Julia [
www.youtube.com]
But beyond all that, USD, Hydra and Material X is now natively supported on Apple platforms. Pixar and Apple has always been closely tied with Job's investment early after leaving Apple. Yet, this integration brings both of these visionary companies together as a new 3D computing paradigm.
Slang-LLVM may be an option for multiplatform targets:
https://github.com/shader-slang/slang/tree/master/source/slang-llvm [
github.com]
drew
Why don't you have the luxury? It would make no difference if Houdini was written in Julia. You'd still have all the same problems having the software running optimally on all the platforms. In fact Julia being so immature you'd have a vast number of far more mundane problems as well.
Don't underestimate the difficulty of writing large software systems, in practice pushing the bounds of computation is insanely hard. Even with Julia on a Mac It's taken 27 years for Houdini to arrive at it's current sophistication. And the devs don't have a blind spot, it's your job to adapt the (incredibly flexible) tool to your use. Most current systems "pushing the bounds of computation" are developed in fortran and C/C++, sometimes scripted from python. I.e. just like Houdini and AI training. But I'd also note that pushing the bounds of computation is not the same thing as building complex DCC tools like Houdini.