RenderMan API
23.0
|
#include <RixPattern.h>
Classes | |
struct | Bake2dSpec |
Output specification for 2d baking. More... | |
struct | Bake3dSpec |
Output specification for 3d baking. More... | |
struct | OutputSpec |
Public Member Functions | |
virtual int | GetInterface () const override |
virtual int | ComputeOutputParams (RixShadingContext const *sCtx, int *numOutputs, OutputSpec **outputs, RtPointer instanceData, RixSCParamInfo const *instanceTable)=0 |
virtual bool | Bake2dOutput (RixBakeContext const *bCtx, Bake2dSpec &output, RtPointer instanceData)=0 |
virtual bool | Bake3dOutput (RixBakeContext const *bCtx, Bake3dSpec &output, RtPointer instanceData)=0 |
Public Member Functions inherited from RixShadingPlugin | |
virtual int | GetVersion () const |
virtual int | Init (RixContext &ctx, RtUString const pluginPath)=0 |
virtual void | Finalize (RixContext &ctx)=0 |
virtual RixSCParamInfo const * | GetParamTable ()=0 |
virtual void | Synchronize (RixContext &ctx, RixSCSyncMsg syncMsg, RixParameterList const *syncParams)=0 |
virtual void | CreateInstanceData (RixContext &rixCtx, RtUString const handle, RixParameterList const *parameterList, InstanceData *instanceData) |
virtual void | SynchronizeInstanceData (RixContext &rixCtx, RtUString const handle, RixParameterList const *instanceParams, uint32_t const editHints, InstanceData *instanceData) |
Protected Member Functions | |
RixPattern () | |
virtual | ~RixPattern () |
Protected Member Functions inherited from RixShadingPlugin | |
RixShadingPlugin (int version) | |
virtual | ~RixShadingPlugin () |
Additional Inherited Members | |
Public Types inherited from RixShadingPlugin | |
enum | SynchronizeHints { k_None = 0x00000000, k_All = 0xFFFFFFFF } |
Protected Attributes inherited from RixShadingPlugin | |
int | m_version |
The RixPattern interface characterizes pattern generation for the purposes of RixBxdf parameterization. Non-constant patterns can themselves be parameterized by some aspect of the RixShadingContext. Typically, RixPatterns operate atop a filter width associated with the shading context. Internally RixPatterns, in order to respond to the ComputeOuputParams request, must request the RixShadingContext to evaulate input parameters associated with the named outputs.
Definition at line 58 of file RixPattern.h.
|
inlineprotected |
Definition at line 150 of file RixPattern.h.
|
inlineprotectedvirtual |
Definition at line 151 of file RixPattern.h.
|
pure virtual |
This method is called when baking for every pattern parameter. Valid outputs must specify Bake2dOutput::filename, Bake2dOutput::display and Bake2dOutput::primVar. Space for Bake2dOutput member strings can be allocated via RixBakeContext::Allocate. Initially, Bake2dOutput is called for the (0, 0) UV-tile. If Bake2dOutput::atlas is set to RI_TRUE, additional call to this method will be made for each uv-tile. Returns true for valid bake 2d outputs. A trivial implementation simply returns false, signifying no valid outputs. Note: this method is called before SynchronizeInstanceData(), meaning the plugins needs to initialize the appropriate parts of its instance data in CreateInstanceData().
|
pure virtual |
This method is called when baking for every pattern parameter. Valid outputs must specify Bake3dOutput::filename and Bake3dOutput::display. Space for Bake3dOutput member strings can be allocated via RixBakeContext::Allocate. Returns true for valid bake 3d outputs. A trivial implementation simply returns false, signifying no valid outputs. Note: this method is called before SynchronizeInstanceData(), meaning the plugins needs to initialize the appropriate parts of its instance data in CreateInstanceData().
|
pure virtual |
Patterns are expected to allocate space for OutputSpec array and buffers for all output values via RixShadingContext::Allocate. The optional instanceTable returned by plugin's CreateInstanceData is managed by the renderer and delivered with the associated instance. Plugins that don't support the optional override capability can ignore the instanceTable parameter. returns 0 for success, non-zero for error
|
inlineoverridevirtual |
Reimplemented from RixShadingPlugin.
Definition at line 61 of file RixPattern.h.