Hello. I always read in interviews of special effects supervisors, how they always write their own shaders or write their own dynamics code, etc. They always extend the functionality (or make better ones) of 3D packages to accomplish what they need to do. So i was thinking, if i want to become that versatile, what’s a good programming language to learn? Is C++ good? how bout Visual C++?
What language?
when it comes to 3D Application API’s and SDK’s the most frequently used language is C++. C++ is good when it comes to speed and most of the tutorials/examples/documentation out there is for C++ (in CG).
Visual C++ is Microsoft’s implementation of Ansi C/C++. The latest Visual C++ .NET is great, think the VC++ .NET compiler is available for free from the Microsoft’s website.
If you are on any of the popular UNIX system such as Linux you should take a look at the GNU tools which of course are completely free.
When it comes to “Dynamic Code” and similar Maya is often used as a base package, the Maya API is well documented and its fairly easy to get up and running, it has a lot of examples.
You mentioned shaders, Mental Ray is using a C based shading language. Renderman has its own SL (Shading Language) which looks a lot like C but has a lot more built-in functions for shader purposes. Another interesting language for shading is NVIDIA’s CG (C for Graphics), it is inspired by Rendermans SL but has a lot of other features.
Do a search on Google, or visit the different Vendors webpages (if you are interested in Shading Languages). Anyway, if you want to do CG programming, learn C++ (don’t kill me now all JAVA users
).
Best,
mk
It’s also very useful to know a scripting language - your 3d application may already have a scripting language included that allows you to implement your own extensions, it’s agood idea to study that (Maya has MEL, C4D has COFFEE, TrueSpace, Poser and Blender have Python, Pixels:3d has Tcl). For beginners, these are usually easier as you don’t have to bother with the quirks of C and C compilers.
For writing shaders, either your application offers an SDK for that (usually in C orC++) or you could get a free RenderMan renderer and learn RSL.
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.