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

Method prepRenderImage

Engine/source/environment/waterPlane.cpp:694–732  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

692}
693
694void WaterPlane::prepRenderImage( SceneRenderState *state )
695{
696 PROFILE_SCOPE(WaterPlane_prepRenderImage);
697
698 if( !state->isDiffusePass() )
699 return;
700
701 mBasicLighting = dStricmp( LIGHTMGR->getId(), "BLM" ) == 0;
702 mUnderwater = isUnderwater( state->getCameraPosition() );
703
704 mMatrixSet->setSceneView(GFX->getWorldMatrix());
705
706 const Frustum &frustum = state->getCameraFrustum();
707
708 if ( mPrimBuff.isNull() ||
709 mGenerateVB ||
710 frustum != mFrustum )
711 {
712 mFrustum = frustum;
713 setupVBIB( state );
714 mGenerateVB = false;
715
716 MatrixF proj( true );
717 MathUtils::getZBiasProjectionMatrix( 0.0001f, mFrustum, &proj );
718 mMatrixSet->setSceneProjection(proj);
719 }
720
721 _getWaterPlane( state->getCameraPosition(), mWaterPlane, mWaterPos );
722 mWaterFogData.plane = mWaterPlane;
723 mPlaneReflector.refplane = mWaterPlane;
724 updateUnderwaterEffect( state );
725
726 ObjectRenderInst *ri = state->getRenderPass()->allocInst<ObjectRenderInst>();
727 ri->renderDelegate.bind( this, &WaterObject::renderObject );
728 ri->type = RenderPassManager::RIT_Water;
729 state->getRenderPass()->addInst( ri );
730
731 //mRenderUpdateCount++;
732}
733
734void WaterPlane::innerRender( SceneRenderState *state )
735{

Callers

nothing calls this directly

Calls 9

dStricmpFunction · 0.85
getZBiasProjectionMatrixFunction · 0.85
isDiffusePassMethod · 0.80
getIdMethod · 0.65
getWorldMatrixMethod · 0.45
isNullMethod · 0.45
getRenderPassMethod · 0.45
bindMethod · 0.45
addInstMethod · 0.45

Tested by

no test coverage detected