Loading...
Searching...
No Matches
HdSprim Class Referenceabstract

Sprim (state prim) is a base class of managing state for non-drawable scene entity (e.g. More...

#include <sprim.h>

+ Inheritance diagram for HdSprim:

Public Member Functions

HD_API HdSprim (SdfPath const &id)
 
SdfPath const & GetId () const
 Returns the identifier by which this state is known.
 
virtual void Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits)=0
 Synchronizes state from the delegate to this object.
 
virtual HD_API void Finalize (HdRenderParam *renderParam)
 Finalizes object resources.
 
virtual HdDirtyBits GetInitialDirtyBitsMask () const =0
 Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim.
 

Detailed Description

Sprim (state prim) is a base class of managing state for non-drawable scene entity (e.g.

camera, light). Similar to Rprim, Sprim communicates scene delegate and tracks the changes through change tracker, then updates data cached in Hd (either on CPU or GPU).

Unlike Rprim, Sprim doesn't produce draw items. The data cached in HdSprim may be used by HdTask or by HdShader.

The lifetime of HdSprim is owned by HdRenderIndex.

Definition at line 51 of file sprim.h.

Member Function Documentation

◆ Finalize()

virtual HD_API void Finalize ( HdRenderParam renderParam)
virtual

Finalizes object resources.

This function might not delete resources, but it should deal with resource ownership so that the sprim is deletable.

Reimplemented in HdPrmanCoordSys, HdPrmanLight, HdPrmanLightFilter, HdPrmanMaterial, HdStExtComputation, and HdStLight.

◆ GetId()

SdfPath const & GetId ( ) const
inline

Returns the identifier by which this state is known.

This identifier is a common associative key used by the SceneDelegate, RenderIndex, and for binding to the state (e.g. camera, light)

Definition at line 62 of file sprim.h.

◆ GetInitialDirtyBitsMask()

virtual HdDirtyBits GetInitialDirtyBitsMask ( ) const
pure virtual

Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim.

Typically this would be all dirty bits.

Implemented in HdCamera, HdCoordSys, HdExtComputation, HdImageShader, HdPrmanCoordSys, HdPrmanLight, HdPrmanLightFilter, HdPrmanMaterial, HdStDrawTarget, and HdStLight.

◆ Sync()

virtual void Sync ( HdSceneDelegate sceneDelegate,
HdRenderParam renderParam,
HdDirtyBits *  dirtyBits 
)
pure virtual

Synchronizes state from the delegate to this object.

Parameters
[in,out]dirtyBitsOn input specifies which state is is dirty and can be pulled from the scene delegate. On output specifies which bits are still dirty and were not cleaned by the sync.

Implemented in HdCamera, HdCoordSys, HdExtComputation, HdImageShader, HdPrmanCamera, HdPrmanCoordSys, HdPrmanLight, HdPrmanLightFilter, HdPrmanMaterial, HdStDrawTarget, HdStExtComputation, and HdStLight.


The documentation for this class was generated from the following file: