MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / render

Method render

Engine/source/renderInstance/forcedMaterialMeshMgr.cpp:72–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72void ForcedMaterialMeshMgr::render(SceneRenderState * state)
73{
74 PROFILE_SCOPE(ForcedMaterialMeshMgr_render);
75
76 if(!mOverrideInstance && mOverrideMaterial.isValid())
77 {
78 mOverrideInstance = mOverrideMaterial->createMatInstance();
79 mOverrideInstance->init( MATMGR->getDefaultFeatures(), getGFXVertexFormat<GFXVertexPNTBT>() );
80 }
81
82 // Early out if nothing to draw.
83 if(!mElementList.size() || !mOverrideInstance)
84 return;
85
86 GFXDEBUGEVENT_SCOPE(ForcedMaterialMeshMgr_Render, ColorI::RED);
87
88 // Automagically save & restore our viewport and transforms.
89 GFXTransformSaver saver;
90
91 // init loop data
92 SceneData sgData;
93 sgData.init( state );
94
95 MeshRenderInst *ri = static_cast<MeshRenderInst*>(mElementList[0].inst);
96 setupSGData( ri, sgData );
97
98 while (mOverrideInstance->setupPass(state, sgData))
99 {
100 for( U32 j=0; j<mElementList.size(); j++)
101 {
102 MeshRenderInst* passRI = static_cast<MeshRenderInst*>(mElementList[j].inst);
103 if(passRI->primBuff->getPointer()->mPrimitiveArray[passRI->primBuffIndex].numVertices < 1)
104 continue;
105
106 getRenderPass()->getMatrixSet().setWorld(*passRI->objectToWorld);
107 getRenderPass()->getMatrixSet().setView(*passRI->worldToCamera);
108 getRenderPass()->getMatrixSet().setProjection(*passRI->projection);
109 mOverrideInstance->setTransforms(getRenderPass()->getMatrixSet(), state);
110
111 mOverrideInstance->setBuffers(passRI->vertBuff, passRI->primBuff);
112 GFX->drawPrimitive( passRI->primBuffIndex );
113 }
114 }
115}
116
117const char* ForcedMaterialMeshMgr::_getOverrideMat( void *object, const char *data )
118{

Callers

nothing calls this directly

Calls 9

isValidMethod · 0.45
createMatInstanceMethod · 0.45
initMethod · 0.45
sizeMethod · 0.45
setupPassMethod · 0.45
getPointerMethod · 0.45
setTransformsMethod · 0.45
setBuffersMethod · 0.45
drawPrimitiveMethod · 0.45

Tested by

no test coverage detected