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

Method innerRender

Engine/source/environment/waterPlane.cpp:734–795  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

732}
733
734void WaterPlane::innerRender( SceneRenderState *state )
735{
736 GFXDEBUGEVENT_SCOPE( WaterPlane_innerRender, ColorI( 255, 0, 0 ) );
737
738 const Point3F &camPosition = state->getCameraPosition();
739
740 Point3F rvec, fvec, uvec, pos;
741
742 const MatrixF &objMat = getTransform(); //getRenderTransform();
743 const MatrixF &camMat = state->getCameraTransform();
744
745 MatrixF renderMat( true );
746
747 camMat.getColumn( 1, &fvec );
748 uvec.set( 0, 0, 1 );
749 rvec = mCross( fvec, uvec );
750 rvec.normalize();
751 fvec = mCross( uvec, rvec );
752 pos = camPosition;
753 pos.z = objMat.getPosition().z;
754
755 renderMat.setColumn( 0, rvec );
756 renderMat.setColumn( 1, fvec );
757 renderMat.setColumn( 2, uvec );
758 renderMat.setColumn( 3, pos );
759
760 setRenderTransform( renderMat );
761
762 // Setup SceneData
763 SceneData sgData = setupSceneGraphInfo( state );
764
765 // set the material
766 S32 matIdx = getMaterialIndex( camPosition );
767
768 if ( !initMaterial( matIdx ) )
769 return;
770
771 BaseMatInstance *mat = mMatInstances[matIdx];
772 WaterMatParams matParams = mMatParamHandles[matIdx];
773
774 // render the geometry
775 if ( mat )
776 {
777 // setup proj/world transform
778 mMatrixSet->restoreSceneViewProjection();
779 mMatrixSet->setWorld(getRenderTransform());
780
781 setShaderParams( state, mat, matParams );
782
783 while( mat->setupPass( state, sgData ) )
784 {
785 mat->setSceneInfo(state, sgData);
786 mat->setTransforms(*mMatrixSet, state);
787 setCustomTextures( matIdx, mat->getCurPass(), matParams );
788
789 // set vert/prim buffer
790 GFX->setVertexBuffer( mVertBuff );
791 GFX->setPrimitiveBuffer( mPrimBuff );

Callers

nothing calls this directly

Calls 15

getColumnMethod · 0.80
setColumnMethod · 0.80
getCurPassMethod · 0.80
setVertexBufferMethod · 0.80
setPrimitiveBufferMethod · 0.80
ColorIClass · 0.50
mCrossFunction · 0.50
getCameraTransformMethod · 0.45
setMethod · 0.45
normalizeMethod · 0.45
getPositionMethod · 0.45
setupPassMethod · 0.45

Tested by

no test coverage detected