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

Method renderObject

Engine/source/environment/basicClouds.cpp:289–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 15

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

Tested by

no test coverage detected