VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Private Member Functions
makVrv::DtGeometrySpecification Struct Reference

Structure that is packed for consumption by GPU for indirect rendering. More...

Public Member Functions

 DtGeometrySpecification (int indexOffset, int indexCount, int firstVertex, int state, const DtLodInfo &lodInfo, const AxisAlignedBoundingBox_32 &box)
 CTOR.
DtLodInfo lodInfo (void) const
 Get the LOD information.
void setLodInfo (const DtLodInfo &lodInfo)
 Set the LOD information.
int indicesOffset () const
 The offset in the registrar where the indices for this spec (model + lod) can be found.
int indicesCount () const
 The number of indices for this spec (model + lod)
int firstVertex () const
 The offset in the registrar where the vertices for this spec (model + lod) can be found.

Public Attributes

Vector4_int myIndicesInfo
 The vertex/index information for this spec.
Vector4_32 myLodInfo
 The actual LOD info packed into a Vector4_int so that it can be consumed directly by the GPU.
DtGpuAxisAlignedBoundingBox myBox
 The AABB in a structure that can be consumed directly by the GPU.

Private Member Functions

 DtGeometrySpecification ()
 unimplemented default constructor

Detailed Description

Structure that is packed for consumption by GPU for indirect rendering.

Indirect rendering geometry registrar will store the 'specs' for multiple models (an array of an array of specs) (so that the specs of multiple models can be uploaded to the GPU directly). Each model can have multiple 'specs'. Each spec has information for the LODs (LOD info). Each spec has information of where in the registrar the indices and offsets of the corresponding geometry may be found. Each spec has information about the bounding box for this current spec (for the model and the lod in question). The layout of this class matches the equivalent structure in the indirect rendering shaders. Therefore, ***be CAREFUL if you extend/add variables to this class***, because you must change the corresponding structure in the shaders as well. Especially, be careful if you declare virtual methods/inherit this class (***best avoided***), because that will implicitly add 4/8 bytes for the vtable pointer that you need to account for in the shaders (not to mention, wasted GPU memory space)

Constructor & Destructor Documentation

makVrv::DtGeometrySpecification::DtGeometrySpecification ( int  indexOffset,
int  indexCount,
int  firstVertex,
int  state,
const DtLodInfo lodInfo,
const AxisAlignedBoundingBox_32 box 
)

CTOR.

makVrv::DtGeometrySpecification::DtGeometrySpecification ( )
private

unimplemented default constructor

Member Function Documentation

DtLodInfo makVrv::DtGeometrySpecification::lodInfo ( void  ) const

Get the LOD information.

void makVrv::DtGeometrySpecification::setLodInfo ( const DtLodInfo lodInfo)

Set the LOD information.

int makVrv::DtGeometrySpecification::indicesOffset ( ) const

The offset in the registrar where the indices for this spec (model + lod) can be found.

int makVrv::DtGeometrySpecification::indicesCount ( ) const

The number of indices for this spec (model + lod)

int makVrv::DtGeometrySpecification::firstVertex ( ) const

The offset in the registrar where the vertices for this spec (model + lod) can be found.

Member Data Documentation

Vector4_int makVrv::DtGeometrySpecification::myIndicesInfo

The vertex/index information for this spec.

Vector4_32 makVrv::DtGeometrySpecification::myLodInfo

The actual LOD info packed into a Vector4_int so that it can be consumed directly by the GPU.

DtGpuAxisAlignedBoundingBox makVrv::DtGeometrySpecification::myBox

The AABB in a structure that can be consumed directly by the GPU.


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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)