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

shader configuration storage class. Has 3 available options which are described in the constructor's comment it is a simple non virtual container class which is why there is no creator or virutal destructor

Public Types

typedef std::bitset< 5 > KeyType
 

Public Member Functions

 DtCullShaderConfig (bool viewFrustumCulling, bool lodChecking, bool useInstanceCount, bool debugCulling)
 
 DtCullShaderConfig ()
 
 ~DtCullShaderConfig ()
 
 DtCullShaderConfig (const DtCullShaderConfig &other)
 
DtCullShaderConfigoperator= (const DtCullShaderConfig &other)
 
virtual bool operator== (const DtCullShaderConfig &rhs) const
 
virtual bool operator!= (const DtCullShaderConfig &rhs) const
 
virtual KeyType computeHash (void) const
 
bool operator() (const DtCullShaderConfig::KeyType &lhs, const KeyType &rhs) const
 
virtual bool useInstanceCount (void) const
 
virtual bool viewFrustumCulling (void) const
 
virtual bool lodChecking (void) const
 
virtual bool debugCulling (void) const
 
virtual bool oceanCulling () const
 
virtual void setUseInstanceCount (bool val)
 
virtual void setViewFrustumCulling (bool val)
 
virtual void setLodChecking (bool val)
 
virtual void setDebugCulling (bool val)
 
virtual void setOceanCulling (bool val)
 

Protected Attributes

bool myViewFrustumCulling
 
bool myLodChecking
 
bool myUseInstanceCount
 
bool myDebugCulling
 
bool myOceanCulling
 

Member Typedef Documentation

typedef std::bitset<5> makVrv::DtCullShaderConfig::KeyType

Constructor & Destructor Documentation

makVrv::DtCullShaderConfig::DtCullShaderConfig ( bool  viewFrustumCulling,
bool  lodChecking,
bool  useInstanceCount,
bool  debugCulling 
)
Parameters
viewFrustumCullingdetermines whether the internal cull shader will do the view frustum culling
lodCheckingdetermines whether whether the internal cull shader will do the lod checking
useInstanceCountadjusts whether the cull shader will optimize for (mostly) unique models across instances (as is the case with cdb gs instances for example), in which case set the useInstanceCount = false or (mostly) shared models, in which case set the useInstanceCount = true

Remarks: Its still (probably) faster to run the cull shader, so that it may quickly generate the indirect command buffer by redistributing the (possibly) out of order instances in a fast, parallelized fashion , than to use the cpu to do this

makVrv::DtCullShaderConfig::DtCullShaderConfig ( )

Default constructor, all options set to true.

makVrv::DtCullShaderConfig::~DtCullShaderConfig ( )

Destructor - this is a non virtual container class so it doesn't need a virtual destructor.

makVrv::DtCullShaderConfig::DtCullShaderConfig ( const DtCullShaderConfig other)

Copy Constructor.

Member Function Documentation

DtCullShaderConfig& makVrv::DtCullShaderConfig::operator= ( const DtCullShaderConfig other)

Assignment Operator.

virtual bool makVrv::DtCullShaderConfig::operator== ( const DtCullShaderConfig rhs) const
virtual

equal to

virtual bool makVrv::DtCullShaderConfig::operator!= ( const DtCullShaderConfig rhs) const
virtual

not equal to

virtual bool makVrv::DtCullShaderConfig::useInstanceCount ( void  ) const
virtual

getters for the configuration options

virtual bool makVrv::DtCullShaderConfig::viewFrustumCulling ( void  ) const
virtual

getters for the configuration options

virtual bool makVrv::DtCullShaderConfig::lodChecking ( void  ) const
virtual

getters for the configuration options

virtual bool makVrv::DtCullShaderConfig::debugCulling ( void  ) const
virtual

getters for the configuration options

virtual bool makVrv::DtCullShaderConfig::oceanCulling ( ) const
virtual

getters for the configuration options

virtual void makVrv::DtCullShaderConfig::setUseInstanceCount ( bool  val)
virtual

setters for the configuration options

virtual void makVrv::DtCullShaderConfig::setViewFrustumCulling ( bool  val)
virtual

setters for the configuration options

virtual void makVrv::DtCullShaderConfig::setLodChecking ( bool  val)
virtual

setters for the configuration options

virtual void makVrv::DtCullShaderConfig::setDebugCulling ( bool  val)
virtual

setters for the configuration options

virtual void makVrv::DtCullShaderConfig::setOceanCulling ( bool  val)
virtual

setters for the configuration options

virtual KeyType makVrv::DtCullShaderConfig::computeHash ( void  ) const
virtual

compute the bit hash, 1 is set for each parameter if off, 0 otherwise

bool makVrv::DtCullShaderConfig::operator() ( const DtCullShaderConfig::KeyType lhs,
const KeyType rhs 
) const
inline

Member Data Documentation

bool makVrv::DtCullShaderConfig::myViewFrustumCulling
protected
bool makVrv::DtCullShaderConfig::myLodChecking
protected
bool makVrv::DtCullShaderConfig::myUseInstanceCount
protected
bool makVrv::DtCullShaderConfig::myDebugCulling
protected
bool makVrv::DtCullShaderConfig::myOceanCulling
protected

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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)