![]() |
RenderMan
26.0
|
RixInterface for constructing and manipulating scene graphs. More...
#include <RixSceneGraph.h>
Classes | |
struct | ScopedEdit |
Define scoped edit block. More... | |
Public Member Functions | |
virtual Material * | CreateMaterial (RtUString identifier)=0 |
Create scene graph material. More... | |
virtual Error | DeleteMaterial (Material *material)=0 |
Delete scene graph material. More... | |
virtual Group * | CreateGroup (RtUString identifier)=0 |
Create a group DAG node. More... | |
virtual Camera * | CreateCamera (RtUString identifier)=0 |
Create a DAG render camera. More... | |
virtual ClippingPlane * | CreateClippingPlane (RtUString identifier)=0 |
Create a DAG render camera. More... | |
virtual AnalyticLight * | CreateAnalyticLight (RtUString identifier)=0 |
Create a analytic DAG light. More... | |
virtual Geometry * | CreateGeometry (RtUString identifier)=0 |
Create a basic geometric DAG object. More... | |
virtual Quadric * | CreateQuadric (RtUString identifier)=0 |
Create a quadric DAG primitve. More... | |
virtual Mesh * | CreateMesh (RtUString identifier)=0 |
Create a geometric DAG mesh. More... | |
virtual Points * | CreatePoints (RtUString identifier)=0 |
Create a points DAG object. More... | |
virtual Volume * | CreateVolume (RtUString identifier)=0 |
Create a volume DAG object. More... | |
virtual Blobby * | CreateBlobby (RtUString identifier)=0 |
Create a blobby DAG object. More... | |
virtual Curves * | CreateCurves (RtUString identifier)=0 |
Create a curves DAG object. More... | |
virtual NuPatch * | CreateNuPatch (RtUString identifier)=0 |
Create a NURBS DAG object. More... | |
virtual Procedural * | CreateProcedural (RtUString identifier)=0 |
Create a procedural DAG object. More... | |
virtual Error | DeleteDagNode (Group *node)=0 |
Delete a DAG node. More... | |
virtual Group * | FindDagNode (char const *path) const =0 |
Find a DAG node from a identifier path. More... | |
virtual Error | Render (char const *cmd)=0 |
Start a live render, batch render, or scene export. More... | |
virtual Error | Stop ()=0 |
Stop a live render. More... | |
virtual void | EditBegin ()=0 |
Start an edit block. More... | |
virtual void | EditEnd ()=0 |
Finish an edit block. More... | |
virtual Error | Clear ()=0 |
Clear the scenegraph. More... | |
virtual Group * | Root () const =0 |
Return root node. More... | |
virtual Error | SetIntegrator (unsigned num, Shader const *nodes)=0 |
Set integrator shading graph. More... | |
virtual Error | SetSampleFilter (unsigned num, Shader const *nodes)=0 |
Set sample filter shading graph. More... | |
virtual Error | SetDisplayFilter (unsigned num, Shader const *nodes)=0 |
Set display filter shading graph. More... | |
virtual Error | SetDisplayChannel (unsigned num, DisplayChannel const *nodes)=0 |
Set display channels. More... | |
virtual RtParamList const & | GetOptions () const =0 |
Get option list. More... | |
virtual Error | SetOptions (RtParamList const &options)=0 |
Set option list. More... | |
virtual Error | SetUpdateIdCallback (UpdateIdCallback callback, void *ctx)=0 |
Optional callback to provide the object ids. More... | |
virtual Error | InvalidateTexture (RtUString const name)=0 |
Invalidate a texture. More... | |
Protected Member Functions | |
Scene ()=default | |
virtual | ~Scene ()=default |
RixInterface for constructing and manipulating scene graphs.
|
protecteddefault |
|
protectedvirtualdefault |
|
pure virtual |
Clear the scenegraph.
This resets the scene graph to an empty state. All associated DAG nodes and material containers are freed.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Create a basic geometric DAG object.
[in] | identifier | The DAG node identifier |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Create a procedural DAG object.
[in] | identifier | The DAG node identifier |
|
pure virtual |
Create a quadric DAG primitve.
[in] | identifier | The DAG node identifier |
|
pure virtual |
Delete a DAG node.
The DAG node is removed from the scene graph. It is invalid to dereference a DAG node once deleted.
[in] | node | DAG node. |
Delete scene graph material.
[in] | material | Material node |
|
pure virtual |
Start an edit block.
An edit block defines a time during which the scene graph may be safely modified without renderer synchronization. Edit blocks may be nested.
Referenced by Scene::ScopedEdit::ScopedEdit().
|
pure virtual |
Finish an edit block.
An edit block defines a time during which the scene graph may be safely modified without renderer synchronization. Edit blocks may be nested.
|
pure virtual |
Find a DAG node from a identifier path.
Returns a DAG node based on the string identifier path relative to the root node. DAG node paths should use the same separator given to Manager::CreateScene.
[in] | path | Identifier path |
|
pure virtual |
Get option list.
Parameters that are globally availible to all scene objects and instances are called options. Options must be set before render begins and are constant for all primitives. Options define scene properties such as searchpaths, resolution, user parameters.
|
pure virtual |
Invalidate a texture.
Tell the renderer the given texture as dirty and needs to flush it from the texture cache.
[in] | name | the full path to the texture |
|
pure virtual |
Start a live render, batch render, or scene export.
Command mode may be "prman" to render or "rib" to export RIB. Renders may be stopped by calling Scene::Stop. The render mode flags supports several flags:
Flag | Description |
---|---|
"-live" | Interactive rendering supporting scene edits |
"-blocking" | Call blocks unitl stopped or converged |
For example:
[in] | cmd | Render command and flags |
|
pure virtual |
Return root node.
The root node defines scene graph DAG hierarcy. All renderable objects should be decendents of the root node.
|
pure virtual |
Set display channels.
You may specify one or more display channels. These are applied to all renderable cameras. The default display channels are 'Ci' and 'a' (beauty and alpha)
[in] | num | The number of channels |
[in] | nodes | The display channels |
Set display filter shading graph.
You may specify one or more RixDisplayFilter plug-ins that may be networked. Only the root node will be evaluated by the renderer. There is no default display filter plug-in.
[in] | num | The number of nodes |
[in] | nodes | The displayfilter nodes |
Set integrator shading graph.
Integrators take the camera rays from the projection and return shaded results to the renderer. Integrator shading graphs may contain a single terminal ShaderType::k_Integrator node. The default integrator is "PxrDefault".
[in] | num | The number of nodes in the shading graph |
[in] | nodes | The integrator nodes |
|
pure virtual |
Set option list.
Parameters that are globally availible to all scene objects and instances are called options. Options must be set before render begins and are constant for all primitives. Options define scene properties such as searchpaths, resolution, user parameters.
[in] | options | Option list |
Set sample filter shading graph.
Sample filter shading graphs may contain zero or more ShaderType::k_SampleFilter nodes. You may specify one or more RixSampleFilter plug-ins that may be networked. Only the root node will be evaluated by the renderer. There is no default sample filter plug-in.
[in] | num | The number of nodes |
[in] | nodes | The samplefilter nodes |
|
pure virtual |
Optional callback to provide the object ids.
If this callback is set then is it queried for integer attributes "identifier:id" and "identifier:id2" values that will be rendered into the "id" channel.
[in] | callback | The function to be called when ever an object is created/modified |
[in] | ctx | User context quoted back to the callback |
|
pure virtual |
Stop a live render.
This blocking call returns once the renderer has fully stopped.