Page tree

Versions Compared

Key

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

...

The desired input parameter to the shader is selected by an integer paramId, which is the ordinal position of the parameter in the parameter table returned by RixShadingPlugin::GetParamTable(). Callers are expected to know the paramId, the type of the associated parameter and are expected to pass a pointer to a pointer of the appropriate type to EvalParam().

...

In some circumstances, users of EvalParam() that do not know the paramId (perhaps due to the use of a dynamic parameter table) or the type of the parameter can introspect for the paramId or information about the parameter via the GetParamId() and the GetParamInfo() methods.  

...

RixShadingContext provides a fast memory allocation service tailored to shaders that need to execute quickly. The main provider of this service is the Allocate() routine; the New() routine and the class Allocator are wrappers around Allocate(). The backing store for this memory allocation are memory pools which are tailored specifically to the lifetime requirements of RixPattern and RixBxdf, with the latter category equating to the the lifetime the lifetime of the RixShadingContext. Clients that use these memory management services should use "placement new" semantics, and should not rely on the invocation of a destructor.

...