Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
Ci = Kd * diffuse() + Ks * specular();

 

 

To store the specular and diffuse components, along with weights, into the specular_aov and diffuse_aov output variables the code has to be changed in the following manner:

Code Block
closure diffuse_aov = Kd * diffuse();
closure specular_aov = Ks * specular();
Ci  = passthrough("diffuse_aov", diffuse_aov) +
	passthrough("specular_aov", specular_aov);

 

Gone is lockgeom

A remnant of the RenderMan way of doing things is the 'lockgeom' parameter which hints of symbolic linking of data defined on the geometry to parameters defined in the shader. From our point of view, this is feature is useless, as-is, in the OSL world:

...