HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdSprim Class Referenceabstract

#include <sprim.h>

+ Inheritance diagram for HdSprim:

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
 

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.

Constructor & Destructor Documentation

HD_API HdSprim::HdSprim ( SdfPath const &  id)
virtual HD_API HdSprim::~HdSprim ( )
virtual

Member Function Documentation

virtual HD_API void HdSprim::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 HdStMaterial, HdStLight, and HdStExtComputation.

SdfPath const& HdSprim::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.

virtual HdDirtyBits HdSprim::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, HdStDrawTarget, HdExtComputation, HdImageShader, HdCoordSys, HdStMaterial, and HdStLight.

virtual void HdSprim::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, HdStDrawTarget, HdExtComputation, HdImageShader, HdCoordSys, HdStMaterial, HdStExtComputation, HdStLight, and XUSD_HydraExtComputation.


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