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

Method render

Engine/source/renderInstance/renderTranslucentMgr.cpp:133–342  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131}
132
133void RenderTranslucentMgr::render( SceneRenderState *state )
134{
135 PROFILE_SCOPE(RenderTranslucentMgr_render);
136
137 // Early out if nothing to draw.
138 if(!mElementList.size())
139 return;
140
141 GFXDEBUGEVENT_SCOPE(RenderTranslucentMgr_Render, ColorI::BLUE);
142
143 // init loop data
144 GFXTextureObject *lastLM = NULL;
145 GFXCubemap *lastCubemap = NULL;
146 GFXTextureObject *lastReflectTex = NULL;
147 GFXTextureObject *lastAccuTex = NULL;
148
149 // Find the particle render manager (if we don't have it)
150 if(mParticleRenderMgr == NULL)
151 {
152 RenderPassManager *rpm = state->getRenderPass();
153 for( U32 i = 0; i < rpm->getManagerCount(); i++ )
154 {
155 RenderBinManager *bin = rpm->getManager(i);
156 if( bin->getRenderInstType() == RenderParticleMgr::RIT_Particles )
157 {
158 mParticleRenderMgr = reinterpret_cast<RenderParticleMgr *>(bin);
159 break;
160 }
161 }
162 }
163
164 GFXTransformSaver saver;
165
166 SceneData sgData;
167 sgData.init( state );
168
169 GFXVertexBuffer * lastVB = NULL;
170 GFXPrimitiveBuffer * lastPB = NULL;
171
172 // Restore transforms
173 MatrixSet &matrixSet = getRenderPass()->getMatrixSet();
174 matrixSet.restoreSceneViewProjection();
175
176 U32 binSize = mElementList.size();
177 for( U32 j=0; j<binSize; )
178 {
179 RenderInst *baseRI = mElementList[j].inst;
180
181 U32 matListEnd = j;
182
183 // render these separately...
184 if ( baseRI->type == RenderPassManager::RIT_ObjectTranslucent )
185 {
186 ObjectRenderInst* objRI = static_cast<ObjectRenderInst*>(baseRI);
187 objRI->renderDelegate( objRI, state, NULL );
188
189 lastVB = NULL;
190 lastPB = NULL;

Callers

nothing calls this directly

Calls 15

getManagerCountMethod · 0.80
renderInstanceMethod · 0.80
usesHardwareSkinningMethod · 0.80
isInstancedMethod · 0.80
sizeMethod · 0.45
getRenderPassMethod · 0.45
getManagerMethod · 0.45
initMethod · 0.45
setupPassMethod · 0.45
setSceneInfoMethod · 0.45
setTransformsMethod · 0.45
setNodeTransformsMethod · 0.45

Tested by

no test coverage detected