What we need?
p_MegaTK - surface shader should be assigned to all objects you want render with passes or without it. If you don't need multipass rendering you may still use p_MegaTK as common surface shader.
p_PointTK, p_DirectTK and p_SpotTK - light shaders should be assigned to all lights in scene if you want get correct passes.
p_MegaTK_pass - geometry shader should be assigned to dummy object (for example to poly Cube) to Geometry Shader slot on transform node if you have no mental ray stand alone and my script for it and want render passes.
1. Create new scene. Create objects and lights like this:
2. Create p_MegaTK shader. And assign it to all objects.
3. Create two p_SpotTK light shaders. And assign it to spot lights.
4. Tune up your shader:
enable "Use Occlusion" option for p_MegaTK shader.
enable "Reflection" and set "Fresnel" to 0.5.
adjust light intensity in p_SpotTK light shader.
adjust any parameter you want.
5. Scene ready for rendering. Now we need enable passes. Create any dummy object, for example poly cube.
6. Create p_MegaTK_pass geometry shader and assing it to transform node of dummy object(cube).
If you use 3dsmax, you should attach geometry shader to special object 'mr Shader', it will be available after installing mrGeomShaderObject.dlo plugin. You may find it in 3dsmax SDK (source code only) or download compiled version from http://www.maxplugins.de
7. Open p_MegaTK_pass properties. Set name for file, for example "test_name". Set path for rendering, for example "c:/render_test" for windows or "/home/current_user/render_test" for linux (you should create this dir before render). Enable passes you want render.
8. Just render your scene and you'll get these files:
It's 3x32bit images. You may view it with: imf_disp, Photoshop CS2 or any compositing software like: Nuke, Shake, Digital Fusion or After Effects(ver 7.0 and higher, previous versions don't support 32bit images)
9. Compose images using your favorite software. You should use this formula:
color*diff_occl*diffuse*shadow + specular*spec_shd + amb_occlus*ambient + reflect + refract + indirect + incand
or this simple formula if you don't need full control, but need more speed: shading + specular*spec_shd + amb_occlus*ambient + reflect + refract + indirect + incand
10. Well done.
11. 'Mitchell' and 'Lanczos' filters don't recommended. These filters may cause of some artifacts during render passes (negative pixels and some noise). Please use more simple filters like: 'Gauss', 'Triangle' or 'Box' ('Triangle' 2 2 recommended).
If you still have some artifacts in your passes, try disable filtering (set filter 'Box' 1 1).
Download example scene 1. (Maya 7.0 and shaders_p 2.9)
Download example scene 2. (Maya 7.0 and shaders_p 2.9)
If you find any bugs or you have any suggestions please mail me to firstname.lastname@example.org