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

Method innerRender

Engine/source/environment/waterBlock.cpp:448–496  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

446}
447
448void WaterBlock::innerRender( SceneRenderState *state )
449{
450 GFXDEBUGEVENT_SCOPE( WaterBlock_innerRender, ColorI( 255, 0, 0 ) );
451
452 if ( mGenerateVB )
453 {
454 setupVBIB();
455 mGenerateVB = false;
456 }
457
458 // Setup SceneData
459 SceneData sgData = setupSceneGraphInfo( state );
460 const Point3F &camPosition = state->getCameraPosition();
461
462 // set the material
463
464 S32 matIdx = getMaterialIndex( camPosition );
465
466 if ( !initMaterial( matIdx ) )
467 return;
468
469 BaseMatInstance *mat = mMatInstances[matIdx];
470 WaterMatParams matParams = mMatParamHandles[matIdx];
471
472 // render the geometry
473 if ( mat )
474 {
475 // setup proj/world transform
476 mMatrixSet->setWorld(getRenderTransform());
477 mMatrixSet->restoreSceneViewProjection();
478
479 setShaderParams( state, mat, matParams );
480
481 while ( mat->setupPass( state, sgData ) )
482 {
483 mat->setSceneInfo(state, sgData);
484 mat->setTransforms(*mMatrixSet, state);
485 setCustomTextures( matIdx, mat->getCurPass(), matParams );
486
487 for ( U32 i = 0; i < mVertBuffList.size(); i++ )
488 {
489 GFX->setVertexBuffer( *mVertBuffList[i] );
490 GFXPrimitiveBuffer *primBuff = *mPrimBuffList[i];
491 GFX->setPrimitiveBuffer( primBuff );
492 GFX->drawPrimitives();
493 }
494 }
495 }
496}
497
498bool WaterBlock::setGridSizeProperty( void *obj, const char *index, const char *data )
499{

Callers

nothing calls this directly

Calls 9

getCurPassMethod · 0.80
setVertexBufferMethod · 0.80
setPrimitiveBufferMethod · 0.80
drawPrimitivesMethod · 0.80
ColorIClass · 0.50
setupPassMethod · 0.45
setSceneInfoMethod · 0.45
setTransformsMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected