|
Bprim (buffer prim) is a base class of managing a blob of data that is used to communicate between the scene delegate and render. More...
#include <bprim.h>
Public Member Functions | |
HD_API | HdBprim (SdfPath const &id) |
SdfPath const & | GetId () const |
Returns the identifier by which this buffer 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. | |
Bprim (buffer prim) is a base class of managing a blob of data that is used to communicate between the scene delegate and render.
Like other prim types (Rprim and Sprim), the Bprim communicates with the scene delegate got get buffer properties (e.g. the size of the buffer) as well as the contents of the buffer.
Changes to the properties and contents are change tracked and updates are cached in the renderer. The Render Delegate may choose to transform the data into a renderer specific form on download.
BPrims are sync'ed first and thus, Bprims should not be Dependent on the state of any other prim.
The most typical use of a Bprim would be a Texture.
|
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 HdRenderBuffer.
|
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 HdRenderBuffer, HdRenderSettings, and HdStField.
|
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 HdRenderBuffer, HdStField, and HdRenderSettings.