![]() |
VR-Forces 4.6.1 Class Documentation
|
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 |
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)
| makVrv::DtMaterial::DtMaterial | ( | ) |
CTOR.
| makVrv::DtMaterial::~DtMaterial | ( | ) |
DTOR: intentionally not virtual, see comments above.
| 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 |