Versions Compared

Key

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

...

Here is an example render of a steel sphere with a thin film of oxide ferum. It is rendered with varying roughness.

 

R=0.05R=0.1
Thin film interference caused by oxide ferum layer
R=0.2R=0.4

 

 

 

lockgeom is Gone

 

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:

  • Symbolic linking is weak in that it is ill-defined : what happens if you have many parameters with the same name in an OSL network ?
  • In this situation, OSL networks are not completely defined by themselves but are dependant on some external user setting to function. In other words, it is impossible to understand the working of an OSL network just by inspecting it. 

In 3Delight, any parameter with no incoming connection will be optimize out (folded). In order to read any primitive variable from the geometry, the OSL network must contain a reader node that calls the getattribute() function call and outputs it. Most networks are automatically built by intermediate software and such nodes are easy to add automatically.