HDK
|
#include <sprim.h>
Public Member Functions | |
HD_API | HdSprim (SdfPath const &id) |
virtual HD_API | ~HdSprim () |
SdfPath const & | GetId () const |
virtual void | Sync (HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits)=0 |
virtual HD_API void | Finalize (HdRenderParam *renderParam) |
virtual HdDirtyBits | GetInitialDirtyBitsMask () const =0 |
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 |
|
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 HdStMaterial, HdStLight, and HdStExtComputation.
|
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, HdStDrawTarget, HdExtComputation, HdImageShader, HdCoordSys, HdStMaterial, 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, HdStDrawTarget, HdExtComputation, HdImageShader, HdCoordSys, HdStMaterial, HdStExtComputation, HdStLight, and XUSD_HydraExtComputation.