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

Method renderObject

Engine/source/environment/basicClouds.cpp:292–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

290}
291
292void BasicClouds::renderObject( ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *mi )
293{
294 GFXTransformSaver saver;
295
296 Point3F camPos = state->getCameraPosition();
297 MatrixF xfm(true);
298 xfm.setPosition(camPos);
299 GFX->multWorld(xfm);
300
301 if ( state->isReflectPass() )
302 GFX->setProjectionMatrix( state->getSceneManager()->getNonClipProjection() );
303
304 GFX->setShader( mShader );
305 GFX->setShaderConstBuffer( mShaderConsts );
306 GFX->setStateBlock( mStateblock );
307
308 MatrixF xform(GFX->getProjectionMatrix());
309 xform *= GFX->getViewMatrix();
310 xform *= GFX->getWorldMatrix();
311
312 mShaderConsts->setSafe( mModelViewProjSC, xform );
313 mShaderConsts->setSafe( mTimeSC, (F32)Sim::getCurrentTime() / 1000.0f );
314 GFX->setPrimitiveBuffer( mPB );
315
316 for ( U32 i = 0; i < TEX_COUNT; i++ )
317 {
318 if ( !mLayerEnabled[i] )
319 continue;
320
321 mShaderConsts->setSafe( mTexScaleSC, mTexScale[i] );
322 mShaderConsts->setSafe( mTexDirectionSC, mTexDirection[i] * mTexSpeed[i] );
323 mShaderConsts->setSafe( mTexOffsetSC, mTexOffset[i] );
324
325 GFX->setTexture( mDiffuseMapSC->getSamplerRegister(), mTexture[i] );
326 GFX->setVertexBuffer( mVB[i] );
327
328 GFX->drawIndexedPrimitive( GFXTriangleList, 0, 0, smVertCount, 0, smTriangleCount );
329 }
330}
331
332
333// BasicClouds Internal Methods....

Callers

nothing calls this directly

Calls 15

multWorldMethod · 0.80
isReflectPassMethod · 0.80
setProjectionMatrixMethod · 0.80
setShaderConstBufferMethod · 0.80
getProjectionMatrixMethod · 0.80
setPrimitiveBufferMethod · 0.80
setVertexBufferMethod · 0.80
getCurrentTimeFunction · 0.50
setPositionMethod · 0.45
getSceneManagerMethod · 0.45
setShaderMethod · 0.45
setStateBlockMethod · 0.45

Tested by

no test coverage detected