| 1046 | // Internal Helper Methods |
| 1047 | |
| 1048 | void DecalRoad::_initMaterial() |
| 1049 | { |
| 1050 | _setMaterial(getMaterial()); |
| 1051 | |
| 1052 | if (mMaterialAsset.notNull()) |
| 1053 | { |
| 1054 | if (mMaterialInst && String(mMaterialAsset->getMaterialDefinitionName()).equal(mMaterialInst->getMaterial()->getName(), String::NoCase)) |
| 1055 | return; |
| 1056 | |
| 1057 | SAFE_DELETE(mMaterialInst); |
| 1058 | |
| 1059 | Material* tMat = nullptr; |
| 1060 | |
| 1061 | if (!Sim::findObject(mMaterialAsset->getMaterialDefinitionName(), tMat)) |
| 1062 | Con::errorf("DecalRoad::_initMaterial - Material %s was not found.", mMaterialAsset->getMaterialDefinitionName()); |
| 1063 | |
| 1064 | mMaterial = tMat; |
| 1065 | |
| 1066 | if (mMaterial) |
| 1067 | mMaterialInst = mMaterial->createMatInstance(); |
| 1068 | else |
| 1069 | mMaterialInst = MATMGR->createMatInstance("WarningMaterial"); |
| 1070 | |
| 1071 | if (!mMaterialInst) |
| 1072 | Con::errorf("DecalRoad::_initMaterial - no Material called '%s'", mMaterialAsset->getMaterialDefinitionName()); |
| 1073 | } |
| 1074 | |
| 1075 | if (!mMaterialInst) |
| 1076 | return; |
| 1077 | |
| 1078 | GFXStateBlockDesc desc; |
| 1079 | desc.setZReadWrite( true, false ); |
| 1080 | mMaterialInst->addStateBlockDesc( desc ); |
| 1081 | |
| 1082 | mMaterialInst->init( MATMGR->getDefaultFeatures(), getGFXVertexFormat<GFXVertexPNTBT>() ); |
| 1083 | } |
| 1084 | |
| 1085 | void DecalRoad::_debugRender( ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance* ) |
| 1086 | { |
nothing calls this directly
no test coverage detected