All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdDrawingCoord Class Reference

A tiny set of integers, which provides an indirection mapping from the conceptual space of an HdRprim's resources (topological, primvar & instancing) to the index within HdBufferArrayRangeContainer, where the resource is stored. More...

Public Member Functions

int GetConstantPrimvarIndex () const
 
void SetConstantPrimvarIndex (int slot)
 
int GetVertexPrimvarIndex () const
 
void SetVertexPrimvarIndex (int slot)
 
int GetTopologyIndex () const
 
void SetTopologyIndex (int slot)
 
int GetElementPrimvarIndex () const
 
void SetElementPrimvarIndex (int slot)
 
int GetInstanceIndexIndex () const
 
void SetInstanceIndexIndex (int slot)
 
int GetFaceVaryingPrimvarIndex () const
 
void SetFaceVaryingPrimvarIndex (int slot)
 
int GetTopologyVisibilityIndex () const
 
void SetTopologyVisibilityIndex (int slot)
 
int GetVaryingPrimvarIndex () const
 
void SetVaryingPrimvarIndex (int slot)
 
void SetInstancePrimvarBaseIndex (int slot)
 
int GetInstancePrimvarIndex (int level) const
 

Static Public Attributes

static const int CustomSlotsBegin = 8
 
static const int DefaultNumSlots = 3
 
static const int Unassigned = -1
 

Detailed Description

A tiny set of integers, which provides an indirection mapping from the conceptual space of an HdRprim's resources (topological, primvar & instancing) to the index within HdBufferArrayRangeContainer, where the resource is stored.

Each HdDrawItem contains a HdDrawingCoord, with the relevant compositional hierarchy being:

HdRprim | +–HdRepr(s) | | | +–HdDrawItem(s)-------—. | | | | +–HdDrawingCoord | | | (mapping provided by HdDrawingCoord) +–HdRprimSharedData | | | +–HdBARContainer <-----—+

Having this indirection provides a recipe for how to configure a drawing coordinate, which is a bundle of HdBufferArrayRanges, while they are shared or not shared across different representations constructed on the same prim.

HullRepr ------— Rprim ------— RefinedRepr | | | DrawItem | DrawItem | | | DrawingCoord Container DrawingCoord constant ----—> [ 0 ] <---— constant vertex ----—> [ 1 ] topology ----—> [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] <---— vertex (refined) [ 9 ] <---— topology (refined) ... instance level=0 —> [ k ] instance level=1 —> [k+1] instance level=2 —> [k+2]

Definition at line 83 of file drawingCoord.h.


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