You know if you render a scene in 3dsmax without any materials applied to the objects, mental ray will render the objects with a basic shader but with the Wirecolor applied to it. It is the color that you can choose in the upper right field in the modify palette and it´s called teh “Object Color” in 3dsmax. It´s the color the objects do have in 3dsmax viewports. As soon as you apply any material to the objects this objectcolor is only visible in 3dsmax viewports and the rendered image, of course only do have the colors of the applied material.
What I want now is a mr-shader that makes the objectcolor, or wirecolor usable for shading. A kind of “MR-wirecolor-shader”. This shader simply should return the Wirecolor of the object.
Imagine: With such a shader you could render a lot of objects that all have different Wirecolors, but simply one material with that “mr - wirecolor-shader” applied to, for example, the diffuse color. Without the need for thousends of materials and without the need of complex texturing. THis would have the advantage that you could setup the diffuse-color (or even other slots) directly with the objectcolor in max!
Because of the behavoir of mental ray max when rendering without materials, i think such a shader is already in max. Maybee hidden? I found this in the 3dsmax2008.mi:
declare data
“max_NodeData” (
color “WireColor”,
integer “NodeID”,
integer “NodeRenderID”,
array light “illuminators”,
array light “shadowmakers”,
boolean “useGlobalLights”,
array integer “materialRequirements”,
integer “lightIncludeExcludeID”
)
version 2
end declare
Maybe a starting point? If you once have a material applied to an object this sitution is only restorable if you set the material of an object to: undefined via maxscript. With the max interface it´s not possible to delete a material applied to an object.
Of course it would be great if i could get this working via standard max tools! (so no special shader msut be installed on all render nodes)
