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

Method innerRender

Engine/source/environment/waterBlock.cpp:447–495  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected