C++ applied to VFX TD training

Howdy

I am a FX TD interested in starting in C++
What trainings/books/tutorials would you recommend?

And what uses would it have?

Thanks

The single best introduction to c programming for me was Casey Muratori’s Introduction to C programming on windows test streams for Handmade Hero:

Compiling is the dark art of C. One thing Casey does which I would follow: Avoid MS Visual Studio , write your code in some other IDE, and compile with a command line. learning how C / C++ compiles is critical. Visual Studio tutorials will automate (obfuscate ) a lot of processes which are better handled yourself manually (with a command line compiler) , until you grasp how it works. Only when you understand the process, you can take advantage of How an IDE might automate stuff.

As far as uses: Most rendering is done by the GPU via a C++ graphics API like Open GL or Direct X. The Shader programs are better understood if you understand the API . Realtime graphics especially almost require C++ for performance and legacy code reasons. So if you want performant VFX, or to jump into an existing rendering code base, you’ll probably have use.

2 Likes

thank you. I’ll look into that.
I knew about the uses of C++ in graphics and rendering.
But my passion is FX, I use Houdini and Unreal. Particles, pyro, fluids and grains. And I cannot find much information in that area.

1 Like

How would you recommend doing this for programs like Maya, which specifically recommend (require?) compiling with MS Visual Studio / MSVC for windows ?

Cult Of Rig has a YT series on compiling Maya plugins using visual studio

I’m, no expert but I think the recommendation for MS Visual studio is because of certain MS library /dll dependencies in the Maya SDK , that you get out of the box with Visual Studio. The SDK may also come with Visual Studio project files to make it “easy” to set up. ( easy in quotes as a beginner will very likely end up banging their head against incorrect/missing libraries and subsequent linking errors. ) It should in theory be possible to acquire those libraries and compile without VS.

Also: I use MSVC without Visual Studio. cl.exe is the command line compiler, and Visual Studio is a front end to drive it.

1 Like

Out of curiosity, Could you share with us your motivation to learn C++ ? in other words, do you have something that you want to achieve ?

As far as I know, from Houdini perspective there are couple of languages and goals.

  • Vex (similar to c/c++) is used for geometry manipulation
  • Python is used for automation, tools, workflows.
  • Python is used to access the USD library to do things around it
  • C++ to use Houdini HDK to create new plugins.
  • C++ to extend/customize USD library

I hope this helps.

I think of coding as the highest level of achievement and control in whatever it is you want to do.
In my case would be 3D FX and applied to Houdini or Unreal.
I know I can start with Unreal and blueprints but I feel more compelled to do it the other way around.

1 Like

Do you already use python with Houdini?
That would be an easier learning curve, I imagine.
I also would bet that most Current studios’ houdini code base is python.
Unreal added python support a few years ago, though I have no direct experience with it.

yep already have experience with Python and Houdini