VR-Forces 4.8 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
makVrv::DtMaterial Class Reference

structure that is packed for consumption by GPU for indirect rendering contains the material properties for a single geometry Each 'model' can have multiple multiple geometries The layout of this class matches the equivalent structure in the indirect rendering shaders. More...

Public Member Functions

 DtMaterial ()
 CTOR. More...
 
 ~DtMaterial ()
 DTOR: intentionally not virtual, see comments above. More...
 

Public Attributes

Vector4_32 myAmbient
 ambient More...
 
Vector4_32 myDiffuse
 diffuse More...
 
Vector4_32 myEmissivity
 emissivity More...
 
Vector4_32 mySpecular
 specular properties More...
 
Vector4_32 myShininessAndOtherData
 first field contains shininess, rest is padding/user data More...
 
Vector4_int myHasEffectMap0
 contains info about what maps/channels there are for a configurable effect map (if one such has been assigned to the geometry). More...
 
Vector4_int myHasEffectMap1
 

Detailed Description

structure that is packed for consumption by GPU for indirect rendering contains the material properties for a single geometry Each 'model' can have multiple multiple geometries 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::DtMaterial::DtMaterial ( )

CTOR.

makVrv::DtMaterial::~DtMaterial ( )

DTOR: intentionally not virtual, see comments above.

Member Data Documentation

Vector4_32 makVrv::DtMaterial::myAmbient

ambient

Vector4_32 makVrv::DtMaterial::myDiffuse

diffuse

Vector4_32 makVrv::DtMaterial::myEmissivity

emissivity

Vector4_32 makVrv::DtMaterial::mySpecular

specular properties

Vector4_32 makVrv::DtMaterial::myShininessAndOtherData

first field contains shininess, rest is padding/user data

Vector4_int makVrv::DtMaterial::myHasEffectMap0

contains info about what maps/channels there are for a configurable effect map (if one such has been assigned to the geometry).

-1 indicates no map

Vector4_int makVrv::DtMaterial::myHasEffectMap1

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)