|
Sprim (state prim) is a base class of managing state for non-drawable scene entity (e.g. More...
#include <sprim.h>
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. | |
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.
|
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 HdStDrawTarget, HdPrmanCoordSys, HdPrmanLight, HdPrmanLightFilter, HdPrmanMaterial, HdStExtComputation, and HdStLight.
|
inline |
|
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.
|
pure virtual |
Synchronizes state from the delegate to this object.
[in,out] | dirtyBits | On 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.