VR-Forces 4.7 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.
 ~DtMaterial ()
 DTOR: intentionally not virtual, see comments above.

Public Attributes

Vector4_32 myAmbient
 ambient
Vector4_32 myDiffuse
 diffuse
Vector4_32 myEmissivity
 emissivity
Vector4_32 mySpecular
 specular properties
Vector4_32 myShininessAndOtherData
 first field contains shininess, rest is padding/user data
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).
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 Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)