![]() |
RenderMan API
23.0
|
#include <Riley.h>
Public Types | |
typedef bool(* | CreateGeometryMasterCB) (void *fnData, RtParamList &primvars) |
Public Member Functions | |
virtual | ~Riley () |
virtual void | Begin ()=0 |
Begins the Riley object. More... | |
virtual void | End ()=0 |
Ends the Riley object. Must be called before the Riley object is deleted. More... | |
virtual void | Render (uint32_t numRenderViews, RenderView const *renderViews, RenderSettings settings)=0 |
virtual void | RequestUpdate ()=0 |
virtual void | Stop ()=0 |
Request the renderer to stop, and Render() to return. More... | |
virtual void | SetOptions (RtParamList const &options)=0 |
virtual RenderOutputId | CreateRenderOutput (RtUString name, RenderOutputType type, RtUString source, RtUString accumulationRule, RtUString filter, float const *filterSize, float relativePixelVariance, RtParamList const ¶ms)=0 |
virtual RenderOutputResult | ModifyRenderOutput (RenderOutputId renderOutput, RtUString const *name, RenderOutputType const *type, RtUString const *source, RtUString const *accumulationRule, RtUString const *filter, float const *const *filterSize, float *relativePixelVariance, RtParamList const *params)=0 |
virtual RenderOutputResult | DeleteRenderOutput (RenderOutputId renderOutput)=0 |
virtual RenderTargetId | CreateRenderTarget (uint32_t numRenderOutputs, RenderOutputId const *renderOutputs, uint32_t const *extent, RtUString filterMode, float pixelVariance, RtParamList const ¶ms)=0 |
virtual RenderTargetResult | ModifyRenderTarget (RenderTargetId renderTarget, uint32_t const *numRenderOutputs, RenderOutputId const *const *renderOutputs, uint32_t const *const *extent, RtUString const *filterMode, float const *pixelVariance, RtParamList const *params)=0 |
virtual RenderTargetResult | DeleteRenderTarget (RenderTargetId renderTargetId)=0 |
virtual DisplayId | CreateDisplay (RenderTargetId renderTarget, RtUString name, RtUString driver, uint32_t numRenderOutputs, RenderOutputId const *renderOutputs, RtParamList const &driverParams)=0 |
virtual DisplayResult | DeleteDisplay (DisplayId displayId)=0 |
virtual void | CreateDisplayFilterChain (riley::ShadingNode const *nodes, int nNodes)=0 |
Creates a display filter chain. More... | |
virtual void | CreateSampleFilterChain (riley::ShadingNode const *nodes, int nNodes)=0 |
Creates a sample filter chain. More... | |
virtual CameraId | CreateCamera (RtUString name, ShadingNode const &projection, Transform const &xform, RtParamList const &properties)=0 |
Create a named camera from a projection shader, transform and list of properties. More... | |
virtual CameraResult | ModifyCamera (CameraId cameraId, ShadingNode const *projection, Transform const *xform, RtParamList const *properties)=0 |
Sets a new projection shader, transform and list of camera properties for the given camera. More... | |
virtual void | DeleteCamera (CameraId cameraId)=0 |
Deletes the specified camera. More... | |
virtual void | SetClippingPlanes (uint32_t numClippingPlanes, Transform const *xforms, float(*params)[6])=0 |
Sets the clipping planes used during the render. More... | |
virtual void | SetActiveCamera (CameraId cameraId)=0 |
Sets the specified camera as active. More... | |
virtual IntegratorId | CreateIntegrator (ShadingNode const &integratorNode)=0 |
Creates an integrator from an integrator shading node. More... | |
virtual IntegratorResult | ModifyIntegrator (IntegratorId integratorId, ShadingNode const *integratorNode)=0 |
Modifies an integrator. More... | |
virtual IntegratorResult | DeleteIntegrator (IntegratorId integratorId)=0 |
Deletes the specified integrator. More... | |
virtual CoordinateSystemId | CreateCoordinateSystem (Transform const &xform, RtParamList const &attributes)=0 |
Create a coordinate system from a transform and a set of attributes. More... | |
virtual CoordinateSystemResult | ModifyCoordinateSystem (CoordinateSystemId coordsysId, Transform const *xform, RtParamList const *attributes)=0 |
Create a coordinate system from a transform and a set of attributes. More... | |
virtual void | DeleteCoordinateSystem (CoordinateSystemId coordsysId)=0 |
Deletes the specified coordinate system. More... | |
virtual DisplacementId | CreateDisplacement (ShadingNode const *shadingNodes, int nShadingNodes)=0 |
Create a displacement from a list of shading nodes. More... | |
virtual DisplacementResult | ModifyDisplacement (DisplacementId displacementId, ShadingNode const *shadingNodes, int nShadingNodes)=0 |
Modifies a displacement. More... | |
virtual void | DeleteDisplacement (DisplacementId displacementId)=0 |
Deletes the specified displacement. More... | |
virtual LightShaderId | CreateLightShader (ShadingNode const *lightNodes, int nLightNodes, ShadingNode const *filterNodes, int nFilterNodes)=0 |
Creates a light shader. More... | |
virtual LightShaderResult | ModifyLightShader (LightShaderId lightShaderId, ShadingNode const *lightNodes, int nLightNodes, ShadingNode const *filterNodes, int nFilterNodes)=0 |
Modifies a light shader. More... | |
virtual void | DeleteLightShader (LightShaderId lightShaderId)=0 |
Deletes the specified light shader. More... | |
virtual MaterialId | CreateMaterial (ShadingNode const *shadingNodes, int nShadingNodes)=0 |
Create a material from a list of shading nodes. More... | |
virtual MaterialResult | ModifyMaterial (MaterialId materialId, ShadingNode const *shadingNodes, int nShadingNodes)=0 |
Modifies a material. More... | |
virtual void | DeleteMaterial (MaterialId materialId)=0 |
Deletes the specified material. More... | |
virtual GeometryMasterId | CreateGeometryMaster (RtUString type, DisplacementId displacementId, RtParamList const &primvars)=0 |
Create a geometry master. More... | |
virtual GeometryMasterId | CreateGeometryMasterDeferred (RtUString type, DisplacementId displacementId, RtParamList const &primvars, CreateGeometryMasterCB fn, void *fnData)=0 |
Create a deferred geometry master. More... | |
virtual GeometryMasterResult | ModifyGeometryMaster (RtUString type, GeometryMasterId geoMasterId, DisplacementId const *displacementId, RtParamList const *primvars)=0 |
Modifies a geometry master. More... | |
virtual void | DeleteGeometryMaster (GeometryMasterId geoMasterId)=0 |
Deletes the specified geometry master. More... | |
virtual GeometryInstanceId | CreateGeometryInstance (GeometryMasterId groupMasterId, GeometryMasterId geoMasterId, MaterialId materialId, ScopedCoordinateSystem const &coordsys, Transform const &xform, RtParamList const &attributes)=0 |
Creates a new instance of a geometry master. More... | |
virtual GeometryInstanceResult | ModifyGeometryInstance (GeometryMasterId groupMasterId, GeometryInstanceId instanceId, MaterialId const *materialId, ScopedCoordinateSystem const *coordsys, Transform const *xform, RtParamList const *attributes)=0 |
Modifies properties on the provided geometry instance. More... | |
virtual void | DeleteGeometryInstance (GeometryMasterId groupMasterId, GeometryInstanceId instanceId)=0 |
Deletes the specified geometry instance. More... | |
virtual LightInstanceId | CreateLightInstance (GeometryMasterId groupMasterId, GeometryMasterId geoMasterId, MaterialId materialId, LightShaderId lightShaderId, ScopedCoordinateSystem const &coordsys, Transform const &xform, RtParamList const &attributes)=0 |
Creates a new instance of a geometric light. More... | |
virtual LightInstanceResult | ModifyLightInstance (GeometryMasterId groupMasterId, LightInstanceId lightInstanceId, MaterialId const *materialId, LightShaderId const *lightShaderId, ScopedCoordinateSystem const *coordsys, Transform const *xform, RtParamList const *attributes)=0 |
Modifies properties on the provided instance of a geometric light. More... | |
virtual void | DeleteLightInstance (GeometryMasterId groupMasterId, LightInstanceId lightInstanceId)=0 |
Deletes the specified instance of a geometric light. More... | |
class Riley An interface to a renderer instance. The APIs allow callers to configure a physically based renderer, and create/modify/delete rendering entities.
typedef bool(* riley::Riley::CreateGeometryMasterCB) (void *fnData, RtParamList &primvars) |
|
pure virtual |
|
pure virtual |
Create a named camera from a projection shader, transform and list of properties.
[in] | name | The name of the camera. |
[in] | projection | The projection shader for the camera. The projection shader will be called to modify camera rays when they are created for path tracing. |
[in] | xform | The camera to world transform. |
[in] | properties | The camera model description.
|
|
pure virtual |
Create a coordinate system from a transform and a set of attributes.
[in] | xform | The transform associated with the coordinate system. |
[in] | attributes |
|
pure virtual |
Create a displacement from a list of shading nodes.
[in] | shadingNodes | A list of ShadingNode with the following properties:
|
[in] | nShadingNodes | The number of shading nodes in the shadingNodes list. |
|
pure virtual |
Create a display and attach it to a RenderTarget. Opens a connection to the display driver.
[in] | renderTarget | The render target to which the display will be attached. |
[in] | name | The name of the display. |
[in] | driver | The name of the display driver that will consume the RenderOutputs. |
[in] | numRenderOutputs | The number of outputs of the RenderTarget the display will consume. If 0, the display will consume all outputs. |
[in] | renderOutputs | The ids of the outputs of a RenderTarget the display will consume. The ids are not required to be in the same order as the outputs on the RenderTarget. |
[in] | driverParams | Parameters passed to the display driver. |
|
pure virtual |
Creates a display filter chain.
[in] | nodes | |
[in] | nNodes | The number of nodes in nodes |
|
pure virtual |
Creates a new instance of a geometry master.
[in] | groupMasterId | Identifies the geometry master group to which the instance will be added. May be GeometryMasterId::k_InvalidId, signifying the instance will belong to no group. Otherwise, providing an id that has not been returned from CreateGeometryMaster() , or a geometry master that has already been deleted, results in undefined behavior. |
[in] | geoMasterId | The geometry master that will be instantiated. This must be a handle returned from CreateGeometryMaster() . Passing a handle value that was not returned from CreateGeometryMaster() , or one that has been deleted with a call to DeleteGeometryMaster() results in undefined behavior. |
[in] | materialId | The material to be assigned to the geometry instance. The materialId specified must be one that was returned from CreateMaterial() . |
[in] | coordsys | |
[in] | xform | The object to world transform for the instance. |
[in] | attributes | The attribute set for the geometry instance. |
|
pure virtual |
Create a geometry master.
[in] | type | The type of geometry to create. |
[in] | displacementId | Specifies a displacement to be assigned to the geometry master. The displacementId specified must either be one that was returned from CreateDisplacement() , or DisplacementId::k_InvalidId signifying no displacement. |
[in] | primvars | A complete description of the primitive variables for the geometry master. |
|
pure virtual |
Create a deferred geometry master.
A deferred geometry master is initially a minimal placeholder specification which includes only the bounds of the geometry and a user-defined callback function. After the creation of the placeholder, the renderer may invoke the callback function on demand in order to fully populate the definition of the geometry.
[in] | type | The type of geometry to create. |
[in] | displacementId | Specifies a displacement to be assigned to the geometry master. The displacementId specified must either be one that was returned from CreateDisplacement() , or DisplacementId::k_InvalidId signifying no displacement. |
[in] | primvars | A minimal set of primvars, enough to define where this master is in space; in particular, Rix::k_Ri_Bound along with other displacement bounds properties. All other regular primvars should be returned by the callback function.
|
[in] | fn | A callback function to be invoked on demand by the renderer in order to create the deferred geometry definition. The implementation of such a function should populate the passed in RtParamList primvars with the primvar entries that would normally have been given to the regular CreateGeometryMaster() method. |
[in] | fnData | The data to pass to the callback function fn in order to create the deferred geometry definition. |
|
pure virtual |
Creates an integrator from an integrator shading node.
[in] | integratorNode | A shading node which must be of type k_Integrator. |
|
pure virtual |
Creates a new instance of a geometric light.
[in] | groupMasterId | Identifies the geometry master group to which the instance will be added. May be GeometryMasterId::k_InvalidId, signifying the instance will belong to no group. Otherwise, providing an id that has not been returned from CreateGeometryMaster() , or a geometry master that has already been deleted, results in undefined behavior, |
[in] | geoMasterId | The geometry master that will be instantiated. This must be a handle returned from CreateGeometryMaster() . Passing a handle value that was not returned from CreateGeometryMaster() , or one that has been deleted with a call to DeleteGeometryMaster() results in undefined behavior. |
[in] | materialId | The material to be assigned to the geometry instance. The materialId specified must be one that was returned from CreateMaterial() . |
[in] | lightShaderId | The light shader to be assigned to the geometry instance. The lightShaderId specified must be one that was returned from CreateMaterial() . |
[in] | coordsys | |
[in] | xform | The object to world transform for the instance. |
[in] | attributes | The attribute set for the geometry instance. |
|
pure virtual |
Creates a light shader.
[in] | lightNodes | |
[in] | nLightNodes | The number of nodes in the lightNodes list. |
[in] | filterNodes | |
[in] | nFilterNodes | The number of nodes in the filterNodes list. |
|
pure virtual |
Create a material from a list of shading nodes.
[in] | shadingNodes | A list of ShadingNode with the following properties:
|
[in] | nShadingNodes | The number of shading nodes in the shadingNodes list. |
|
pure virtual |
Creates a render output. Describes the data format for an output of a render.
[in] | name | The name of the output. |
[in] | type | The data type of the output. |
[in] | source | The source of the output. |
[in] | accumulationRule | supported rules: {"filter", "average", "min", "max", "zmin", "zmax", "sum", "variance", "mse", "even", "odd"} If set to "filter" the pixel filter function defined by "filter" is used. |
[in] | filter | supported filters: {Rix::k_gaussian, Rix::k_box, Rix::k_triangle, Rix::k_catmullrom, Rix::k_separablecatmullrom, Rix::k_blackmanharris, Rix::k_mitchell, Rix::k_sinc, Rix::k_bessel, Rix::k_disk, Rix::k_lanczos} |
[in] | filterSize | Filter size in pixels. float array of size 2, cannot be nullptr. |
If the "filterMode" of the render target is set to "importance", all outputs of the render target with a "filter" accumulation rule will use the filter of the first render output provided to the render target.
[in] | relativePixelVariance | |
[in] | params | additional optional parameters.
|
|
pure virtual |
Creates a RenderTarget containing storage for all of the RenderOutputs. All RenderOutputs use the same extent.
[in] | extent | Width, height, and depth of the outputs. 2D Images have 0 depth. Integer array of size 3, cannot be nullptr. |
[in] | filterMode | {"importance", "weighted"} |
[in] | pixelVariance | |
[in] | params | additional optional parameters. |
|
pure virtual |
Creates a sample filter chain.
[in] | nodes | |
[in] | nNodes | The number of nodes in nodes |
|
pure virtual |
Deletes the specified camera.
[in] | cameraId | Identifies the camera to delete. Providing an id that has not been returned from CreateCamera() , or deleting a camera that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified coordinate system.
[in] | coordsysId | Identifies the coordinate system to delete. Providing an id that has not been returned from CreateCoordinateSystem() , or deleting a coordinate system that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified displacement.
[in] | displacementId | Identifies the displacement to delete. Providing an id that has not been returned from CreateDisplacement() , or deleting a displacement that has already been deleted, results in undefined behavior. |
|
pure virtual |
Close a display and detach it from its RenderTarget. Closes the connection to the display driver. The displayId is no longer valid.
|
pure virtual |
Deletes the specified geometry instance.
[in] | groupMasterId | Identifies the geometry master group to which the instance currently belongs. May be GeometryMasterId::k_InvalidId, signifying the instance belongs to no group. Otherwise, providing an id that has not been returned from CreateGeometryMaster() , or a geometry master that has already been deleted, results in undefined behavior. |
[in] | instanceId | Identifies the geometry instance to delete. Providing an id that has not been returned from CreateGeometryInstance() , or deleting a geometry instance that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified geometry master.
[in] | geoMasterId | Identifies the geometry master to delete. Providing an id that has not been returned from CreateGeometryMaster() , or deleting a geometry master that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified integrator.
[in] | integratorId | Identifies the integrator to delete. Providing an id that has not been returned from CreateIntegrator() , or deleting an integrator that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified instance of a geometric light.
[in] | groupMasterId | Identifies the geometry master group to which the instance currently belongs. May be GeometryMasterId::k_InvalidId, signifying the instance belongs to no group. Otherwise, providing an id that has not been returned from CreateGeometryMaster() , or a geometry master that has already been deleted, results in undefined behavior. |
[in] | lightInstanceId | Identifies the geometric light instance to delete. Providing an id that has not been returned from CreateLightInstance() , or deleting an instance that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified light shader.
[in] | lightShaderId | Identifies the light shader to delete. Providing an id that has not been returned from CreateLightShader() , or deleting a light shader that has already been deleted, results in undefined behavior. |
|
pure virtual |
Deletes the specified material.
[in] | materialId | Identifies the material to delete. Providing an id that has not been returned from CreateMaterial() , or deleting a material that has already been deleted, results in undefined behavior. |
|
pure virtual |
Delete a RenderOutput. The RenderOutputId is no longer valid. A RenderOutput may not be deleted if there any RenderTarget still using it.
|
pure virtual |
Deletes a RenderTarget and frees its storage. The renderTargetId is no longer valid. A RenderTarget may not be deleted if there are any displays attached to it.
|
pure virtual |
|
pure virtual |
Sets a new projection shader, transform and list of camera properties for the given camera.
It is possible to pass null for any of the parameter sets and this will apply no modification to the parameter set. That is, ModifyCamera(id, nullptr, nullptr, nullptr)
has no side effects.
[in] | cameraId | Identifies the camera for which properties will be changed, and must be an id returned from CreateCamera() . Providing an id that has not been returned from CreateCamera() , or one that has been deleted with a call to DeleteCamera() , results in undefined behavior. |
[in] | projection | An optional new projection shader for the camera. This parameter is optional but, if provided, will replace the current projection shader bound to the camera. |
[in] | xform | An optional camera to world transform that replaces the current camera to world transform. |
[in] | properties | An optional argument which if non-null, provides a new camera model description for the camera. |
CameraResult
value indicating success or failure.
|
pure virtual |
Create a coordinate system from a transform and a set of attributes.
[in] | coordsysId | Identifies the coordinate system to modify. Providing an id that has not been returned from CreateCoordinateSystem() , or deleting a coordinate system that has already been deleted, results in undefined behavior. |
[in] | xform | |
[in] | attributes |
CoordinateSystemResult
value indicating success or failure.
|
pure virtual |
Modifies a displacement.
[in] | shadingNodes | A list of ShadingNode with the same properties as the shadingNodes parameter to CreateDisplacement() . |
[in] | nShadingNodes | The number of shading nodes in the shadingNodes list. |
[in] | displacementId | Identifies the displacement to be modified, and must be an id returned from CreateDisplacement() . Providing an id that has not been returned from CreateDisplacement() , or one that has been deleted with a call to DeleteDisplacement() , results in undefined behavior. |
DisplacementResult
value. If k_Error
is returned, the displacement was not successfully modified. If k_Success
is returned, the displacement was successfully modified. If k_ResendPrimVars
is returned, the displacement was successfully modified; in addition, the caller should immediately issue a ModifyGeometryMaster()
for all associated geometry masters.
|
pure virtual |
Modifies properties on the provided geometry instance.
If a null pointer is passed for materialId
, coordsys
, xform
or attributes
then that specific property set will remain unmodified. Thus, ModifyGeometryInstance()(groupId, instanceId, nullptr, nullptr, nullptr, nullptr)
has no side-effects.
[in] | groupMasterId | Identifies the geometry master group in which the instance currently belongs. May be GeometryMasterId::k_InvalidId, signifying the instance belongs to no group. Otherwise, providing an id that has not been returned from CreateGeometryMaster() , or a geometry master that has already been deleted, results in undefined behavior. |
[in] | instanceId | The geometry instance handle that will be modified. This must be a handle returned from CreateGeometryInstance() . Passing a handle value that was not returned from CreateGeometryInstance() or one that has been deleted with a call to DeleteGeometryInstance() results in undefined behavior. |
[in] | materialId | If non-null, specifies a new material to be assigned to the geometry instance. The materialId specified must be one that was returned from CreateMaterial() . |
[in] | coordsys | |
[in] | xform | If non-null, assigns a new object to world transform for the instance. |
[in] | attributes | If non-null, specifies a new attribute set for the geometry instance. It is expected that if provided, the attributes are a complete description, as it will completely overwrite the existing set of attributes. |
GeometryInstanceResult
value. If k_Error
is returned, the instance was not successfully modified. If k_Success
is returned, the instance was successfully modified. If k_ResendPrimVars
is returned, the instance was successfully modified; in addition, the caller should immediately issue a ModifyGeometryMaster()
for all associated geometry masters.
|
pure virtual |
Modifies a geometry master.
[in] | type | The type of the geometry. |
[in] | geoMasterId | The geometry master that will be modified. This must be a handle returned from CreateGeometryMaster() . Passing a handle value that was not returned from CreateGeometryMaster() , or one that has been deleted with a call to DeleteGeometryMaster() results in undefined behavior. |
[in] | displacementId | If non-null, changes the displacement shader assigned to the geometry master. The displacementId specified must either be one that was returned from CreateDisplacement() , or DisplacementId::k_InvalidId signifying that any existing displacement shader should be removed. |
[in] | primvars | If non-null, specifies a new set of primvars for the geometry master. It is expected that if provided, the primvars are a complete description, as it will completely overwrite the existing set of primvars. |
GeometryMasterResult
value. If k_Error
is returned, the geometry master was not successfully modified. If k_Success
is returned, the geometry master was successfully modified. If k_ResendPrimVars
is returned, the geometry master properties were successfully modified; in addition, the caller should immediately reissue the ModifyGeometryMaster()
call, and include the full primvars for the master.
|
pure virtual |
Modifies an integrator.
[in] | integratorId | Identifies the integrator to be modified, and must be an id returned from CreateIntegrator() . Providing an id that has not been returned from CreateIntegrator() , or one that has been deleted with a call to DeleteIntegrator() , results in undefined behavior. |
[in] | integratorNode | A ShadingNode with the same properties as the integratorNode parameter to CreateIntegrator() . |
IntegratorResult
value. If k_Error
is returned, the integrator was not successfully modified. If k_Success
is returned, the integrator was successfully modified.
|
pure virtual |
Modifies properties on the provided instance of a geometric light.
If a null pointer is passed for materialId
, lightShaderId
, coordsys
, xform
or attributes
then that specific property set will remain unmodified. Thus, ModifyLightInstance()(groupId, lightId, nullptr, nullptr, nullptr, nullptr, nullptr)
has no side-effects.
[in] | groupMasterId | Identifies the geometry master group in which the instance currently belongs. May be GeometryMasterId::k_InvalidId, signifying the instance belongs to no group. Otherwise, providing an id that has not been returned from CreateGeometryMaster() , or a geometry master that has already been deleted, results in undefined behavior. |
[in] | lightInstanceId | The geometry light instance handle that will be modified. This must be a handle returned from CreateLightInstance() . Passing a handle value that was not returned from CreateLightInstance() or one that has been deleted with a call to DeleteLightInstance() results in undefined behavior. |
[in] | materialId | If non-null, specifies a new material to be assigned to the geometry instance. The materialId specified must be one that was returned from CreateMaterial() . |
[in] | lightShaderId | If non-null, specifies a new light shader to be assigned to the geometry instance. The lightShaderId specified must be one that was returned from CreateLightShader() . |
[in] | coordsys | |
[in] | xform | If non-null, assigns a new object to world transform for the instance. |
[in] | attributes | If non-null, specifies a new attribute set for the geometry instance. It is expected that if provided, the attributes are a complete description, as it will completely overwrite the existing set of attributes. |
LightInstanceResult
value. If k_Error
is returned, the light instance was not successfully modified. If k_Success
is returned, the light instance was successfully modified. If k_ResendPrimVars
is returned, the light instance was successfully modified; in addition, the caller should immediately issue a ModifyGeometryMaster()
for all associated geometry masters.
|
pure virtual |
Modifies a light shader.
[in] | lightShaderId | Identifies the light shader to be modified, and must be an id returned from CreateLightShader() . Providing an id that has not been returned from CreateLightShader() , or one that has been deleted with a call to DeleteLightShader() , results in undefined behavior. |
[in] | lightNodes | |
[in] | nLightNodes | The number of nodes in the lightNodes list. |
[in] | filterNodes | |
[in] | nFilterNodes | The number of nodes in the filterNodes list. |
LightShaderResult
value. If k_Error
is returned, the light shader was not successfully modified. If k_Success
is returned, the light shader was successfully modified. If k_ResendPrimVars
is returned, the light shader was successfully modified; in addition, the caller should immediately issue a ModifyGeometryMaster()
for all associated geometry masters.
|
pure virtual |
Modifies a material.
[in] | materialId | Identifies the material to be modified, and must be an id returned from CreateMaterial() . Providing an id that has not been returned from CreateMaterial() , or one that has been deleted with a call to DeleteMaterial() , results in undefined behavior. |
[in] | shadingNodes | A list of ShadingNode with the same properties as the shadingNodes parameter to CreateMaterial() . |
[in] | nShadingNodes | The number of shading nodes in the shadingNodes list. |
MaterialResult
value. If k_Error
is returned, the material was not successfully modified. If k_Success
is returned, the material was successfully modified. If k_ResendPrimVars
is returned, the material was successfully modified; in addition, the caller should immediately issue a ModifyGeometryMaster()
for all associated geometry masters.
|
pure virtual |
Modify attributes of a RenderOutput
Uses the same parameterization as CreateRenderOutput(). If a parameter is nullptr, it is not modified.
|
pure virtual |
Modify attributes of a RenderTarget
Uses the same parameterization as CreateRenderTarget(). If a parameter is nullptr, it is not modified.
|
pure virtual |
Render one or more views of a scene. Render will run to completion unless: it is stopped by and external signal; the application indicates it would like to edit the scene by calling 'RequestUpdate()'; or the render call is configured to return after a fixed interval specified in either iterations or time.
[in] | numRenderViews | The number of views to render. |
[in] | renderViews | The views to render. Each view must have a unique RenderTarget, while Integrator and Camera can be shared across views. |
|
pure virtual |
|
pure virtual |
Sets the specified camera as active.
[in] | cameraId | Identifies the camera to made active. Providing an id that has not been returned from CreateCamera() , or deleting a camera that has already been deleted, results in undefined behavior. |
|
pure virtual |
Sets the clipping planes used during the render.
Must be called after SetOptions()
, before SetActiveCamera()
[in] | numClippingPlanes | The number of clipping planes. |
[in] | xforms | A list of transforms associated with each clipping plane. |
[in] | params | The definition of each clipping plane. Each plane is defined by six floats: the first three floats describe the normal of the plane, and the next three floats describe a point on the plane. |
|
pure virtual |
|
pure virtual |
Request the renderer to stop, and Render()
to return.