VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtIndirectModelSubGeometry Class Reference

geometry that is part of a model. refers to one index buffer and a vertex+color+normal+uv buffer corresponding to the sub-geometry of a model. unlike the aggregated(old) indirect path, these sub-geometries are not aggregated into a single vertex+index buffer for the model. unlike the aggregated(old) indirect paths, the model is directly rendered with an augmented indirect command that specifies the address of the index+vertex buffer for this sub-geometry directly

Public Member Functions

 DtIndirectModelSubGeometry (DtDe &de)
 
virtual ~DtIndirectModelSubGeometry ()
 
 DtIndirectModelSubGeometry (const DtIndirectModelSubGeometry &rhs)=delete
 
DtIndirectModelSubGeometryoperator= (const DtIndirectModelSubGeometry &rhs)=delete
 
 DtIndirectModelSubGeometry ()=delete
 
virtual void fillFrom (const osg::Geometry *srcGeometry, const osg::Matrix &matrix, DtIndirectGeometryTexturesRefPtr textureForThisGeometry)
 
virtual void updateBuffersIfNecessary (bool &reloaded)
 
virtual int maxCoords (void) const
 
virtual int numVertices (void) const
 
virtual int numIndices (void) const
 
virtual void unload ()
 
virtual bool isLoaded () const
 
virtual void setName (const std::string &name)
 
virtual const std::string & name (void) const
 
virtual const BindlessPtrNV & vertexBufferBindless (void) const
 
virtual const BindlessPtrNV & additionalBufferBindless (void) const
 
virtual const BindlessPtrNV & indexBufferBindless (void) const
 

Protected Member Functions

virtual void releaseGLObjects (osg::State *state)
 
virtual void createIndirectBuffers (void)
 
virtual void deleteIndirectBuffers (void)
 

Protected Attributes

DtGlBuffermyVertexAndAttributesBuffer
 
DtGlBuffermyAdditionalCoordinatesBuffer
 
DtGlBuffermyIndexBuffer
 
BindlessPtrNV myVertexBufferBindless
 
BindlessPtrNV myAdditionalBufferBindless
 
BindlessPtrNV myIndexBufferBindless
 
std::vector< intmyIndices
 
bool myBuffersUpdated
 
DtDemyDe
 
std::string myName
 
std::vector
< DtIndirectBindlessVertexFormat
myVertices
 
std::vector< std::vector
< Vector2_32 > > 
myTextureCoordinates
 

Constructor & Destructor Documentation

makVrv::DtIndirectModelSubGeometry::DtIndirectModelSubGeometry ( DtDe de)

constructor

virtual makVrv::DtIndirectModelSubGeometry::~DtIndirectModelSubGeometry ( )
virtual

destructor

makVrv::DtIndirectModelSubGeometry::DtIndirectModelSubGeometry ( const DtIndirectModelSubGeometry rhs)
delete

not allowed

makVrv::DtIndirectModelSubGeometry::DtIndirectModelSubGeometry ( )
delete

not allowed

Member Function Documentation

DtIndirectModelSubGeometry& makVrv::DtIndirectModelSubGeometry::operator= ( const DtIndirectModelSubGeometry rhs)
delete

not allowed

virtual void makVrv::DtIndirectModelSubGeometry::fillFrom ( const osg::Geometry *  srcGeometry,
const osg::Matrix &  matrix,
DtIndirectGeometryTexturesRefPtr  textureForThisGeometry 
)
virtual

copy src geometry into internal buffers

virtual void makVrv::DtIndirectModelSubGeometry::updateBuffersIfNecessary ( bool reloaded)
virtual

finalize and make bindless

virtual int makVrv::DtIndirectModelSubGeometry::maxCoords ( void  ) const
virtual

The max texture coordinates unit/number of the texture coordinate sets.

virtual int makVrv::DtIndirectModelSubGeometry::numVertices ( void  ) const
virtual

The num of vertices.

virtual int makVrv::DtIndirectModelSubGeometry::numIndices ( void  ) const
virtual

The num of indices.

virtual void makVrv::DtIndirectModelSubGeometry::unload ( )
virtual

unload the model info specifically, for bindless make gl buffers non-resident and add them to the delete manager

virtual bool makVrv::DtIndirectModelSubGeometry::isLoaded ( ) const
virtual

is loaded?

virtual void makVrv::DtIndirectModelSubGeometry::setName ( const std::string &  name)
virtual

set the name (for debugging)

virtual const std::string& makVrv::DtIndirectModelSubGeometry::name ( void  ) const
virtual

get the name (for debugging)

virtual const BindlessPtrNV& makVrv::DtIndirectModelSubGeometry::vertexBufferBindless ( void  ) const
virtual

bindless vertex buffer

virtual const BindlessPtrNV& makVrv::DtIndirectModelSubGeometry::additionalBufferBindless ( void  ) const
virtual

bindless additional attributes buffer

virtual const BindlessPtrNV& makVrv::DtIndirectModelSubGeometry::indexBufferBindless ( void  ) const
virtual

bindless index buffer

virtual void makVrv::DtIndirectModelSubGeometry::releaseGLObjects ( osg::State *  state)
protectedvirtual

release gl objects

virtual void makVrv::DtIndirectModelSubGeometry::createIndirectBuffers ( void  )
protectedvirtual

internal. create the indirect buffers

virtual void makVrv::DtIndirectModelSubGeometry::deleteIndirectBuffers ( void  )
protectedvirtual

internal. delete the indirect buffers

Member Data Documentation

DtGlBuffer* makVrv::DtIndirectModelSubGeometry::myVertexAndAttributesBuffer
protected
DtGlBuffer* makVrv::DtIndirectModelSubGeometry::myAdditionalCoordinatesBuffer
protected
DtGlBuffer* makVrv::DtIndirectModelSubGeometry::myIndexBuffer
protected
BindlessPtrNV makVrv::DtIndirectModelSubGeometry::myVertexBufferBindless
protected
BindlessPtrNV makVrv::DtIndirectModelSubGeometry::myAdditionalBufferBindless
protected
BindlessPtrNV makVrv::DtIndirectModelSubGeometry::myIndexBufferBindless
protected
std::vector<int> makVrv::DtIndirectModelSubGeometry::myIndices
protected
bool makVrv::DtIndirectModelSubGeometry::myBuffersUpdated
protected
DtDe& makVrv::DtIndirectModelSubGeometry::myDe
protected
std::string makVrv::DtIndirectModelSubGeometry::myName
protected
std::vector<DtIndirectBindlessVertexFormat> makVrv::DtIndirectModelSubGeometry::myVertices
protected
std::vector< std::vector<Vector2_32> > makVrv::DtIndirectModelSubGeometry::myTextureCoordinates
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)