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

Method render

Engine/source/renderInstance/forcedMaterialMeshMgr.cpp:73–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

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