![]() |
VR-Forces 5.0.3 Developer's Guide
|
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) | |
| DtCullShaderConfig & | operator= (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 |
| typedef std::bitset<5> makVrv::DtCullShaderConfig::KeyType |
| makVrv::DtCullShaderConfig::DtCullShaderConfig | ( | bool | viewFrustumCulling, |
| bool | lodChecking, | ||
| bool | useInstanceCount, | ||
| bool | debugCulling | ||
| ) |
| viewFrustumCulling | determines whether the internal cull shader will do the view frustum culling |
| lodChecking | determines whether whether the internal cull shader will do the lod checking |
| useInstanceCount | adjusts 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.
| DtCullShaderConfig& makVrv::DtCullShaderConfig::operator= | ( | const DtCullShaderConfig & | other | ) |
Assignment Operator.
|
virtual |
equal to
|
virtual |
not equal to
|
virtual |
getters for the configuration options
|
virtual |
getters for the configuration options
|
virtual |
getters for the configuration options
|
virtual |
getters for the configuration options
|
virtual |
getters for the configuration options
|
virtual |
setters for the configuration options
|
virtual |
setters for the configuration options
|
virtual |
setters for the configuration options
|
virtual |
setters for the configuration options
|
virtual |
setters for the configuration options
|
virtual |
compute the bit hash, 1 is set for each parameter if off, 0 otherwise
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |