Feedback

What's your question?

By: [ Editor ] Asked

Beginner rendering engine

Which rendering engine should I get myself familiar with in terms of shader programming? Renderman or mental ray? Which one does jobs that hire new programmers use?

Add comment viewed 413 times Latest activity 11 months ago

or Cancel

4 answers

  • 2

jan walter

Both ... and probably some more: MetaSL, VEX (Houdini), some hardware shading languages, etc.

For RenderMan there are obviously free alternatives to learn the basics and get started. And the start will be easier than with a C/C++ based shading language(s).

An outdated introduction can be found here:

http://www.janwalter.com/ShaderWriting/Filmakademie/index.html

or

http://www.janwalter.com/ShaderWriting/filmakademie.pdf

For RenderMan I would suggest reading:

Anthony A. Apodaca; Larry Gritz. Advanced RenderMan: Creating CGI for Motion Pictures. Morgan Kaufmann, 1999.

and (also outdated):

Steve Upstill. The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics. Addison Wesley, 1990.

For mental ray I would suggest Andy Kopra's excellent book:

Andy Kopra. Writing mental ray shaders: A perceptual introduction. Springer-Verlag (first edition), 2007. http://www.writingshaders.com/

He will publish another book an MetaSL (I can't really say how long it will take to be published but I trust him to write another great book, which talks not just about mental ray, but about rendering and shader languages in general) ...

The other HW related languages I suggest to get familiar with just to get a feeling for the need to have ONE shading language which serves several purposes. I'm not saying that MetaSL will be the answer, but I'm saying that there is a need for such a thing and that me (and others in this industry) are open to discuss what would be needed.

I have experience with a LOT of renderers, but I would suggest to look at least at RenderMan, mental ray, and Mantra's shading language(s) to get started. GI and other algorithms will change what can be done in HW today (and tomorrow) and a future shading language which can solve all remaining problems is not in sight (yet).

The RenderMan world is very established in film production but as a newbie it's very unlikely that you will be hired for something else than maintaining code (shaders) somebody else wrote and probably nobody understands anymore ;)

But it's worth to learn it anyway and if you are lucky you will be hired for some more rewarding tasks. Experiment with as many renderers you can get you hand on. You can also learn a lot from OpenSource renderers which do not really provide a shading language ...

C/C++ is very powerful if you think about shader writing more in terms of writing "plug-ins" for a renderer, instead of a very specific domain language, and will help you to get into the industry because you can use it for other "plug-ins" (Maya, XSI, Houdini, 3DS Max, etc.) as well.

I would also suggest to look at something like Houdini's VEX Builder or mental mill (or Vshade for AIR) or similar approaches to get a feeling for programming vs. GUI based shader networks ...

My 2 cents ...

Cheers,

Jan

NN comments
shawn mclean
-

you said I’d be lucky to be hired. Is there any other graphics programming categories you recommend for a newbie?

or Cancel
  • 1

haggi

I aggree. If you are starting with shader coding, I'd recommend Renderman shading laguage. I'm just testing pixie. It is fast, has a lot of advanced features, is free and available in source code. It even offers occlusion and indirect illumination with point clouds. So it is a good starting point for coding.

or Cancel
  • 0

matti

You can also get a free licence for 3Delight which is a commercial renderer and used in several vfx-heavy movies such as District 9. If you want to learn RSL I would recommend using 3Delight...

or Cancel