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

Method SceneRenderState

Engine/source/scene/sceneRenderState.cpp:36–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34//-----------------------------------------------------------------------------
35
36SceneRenderState::SceneRenderState( SceneManager* sceneManager,
37 ScenePassType passType,
38 const SceneCameraState& view,
39 RenderPassManager* renderPass /* = NULL */,
40 bool usePostEffects /* = true */ )
41 : mSceneManager( sceneManager ),
42 mCullingState( sceneManager, view ),
43 mRenderPass( renderPass ? renderPass : sceneManager->getDefaultRenderPass() ),
44 mScenePassType( passType ),
45 mRenderNonLightmappedMeshes( true ),
46 mRenderLightmappedMeshes( true ),
47 mUsePostEffects( usePostEffects ),
48 mDisableAdvancedLightingBins( false ),
49 mRenderArea( view.getFrustum().getBounds() ),
50 mAmbientLightColor( sceneManager->getAmbientLightColor() ),
51 mSceneRenderStyle( SRS_Standard )
52{
53 // Setup the default parameters for the screen metrics methods.
54 mDiffuseCameraTransform = view.getHeadWorldViewMatrix();
55 mDiffuseCameraTransform.inverse();
56
57 // The vector eye is the camera vector with its
58 // length normalized to 1 / zFar.
59 getCameraTransform().getColumn( 1, &mVectorEye );
60 mVectorEye.normalize( 1.0f / getFarPlane() );
61
62 // TODO: What about ortho modes? Is near plane ok
63 // or do i need to remove it... maybe ortho has a near
64 // plane of 1 and it just works out?
65
66 const Frustum& frustum = view.getFrustum();
67 const RectI& viewport = view.getViewport();
68
69 mWorldToScreenScale.set( ( frustum.getNearDist() * viewport.extent.x ) / ( frustum.getNearRight() - frustum.getNearLeft() ),
70 ( frustum.getNearDist() * viewport.extent.y ) / ( frustum.getNearTop() - frustum.getNearBottom() ) );
71
72 // Assign shared matrix data to the render pass.
73
74 mRenderPass->assignSharedXform( RenderPassManager::View, view.getWorldViewMatrix() );
75 mRenderPass->assignSharedXform( RenderPassManager::Projection, view.getProjectionMatrix() );
76}
77
78//-----------------------------------------------------------------------------
79

Callers

nothing calls this directly

Calls 15

getDefaultRenderPassMethod · 0.80
getColumnMethod · 0.80
getNearDistMethod · 0.80
getNearRightMethod · 0.80
getNearLeftMethod · 0.80
getNearTopMethod · 0.80
getNearBottomMethod · 0.80
assignSharedXformMethod · 0.80
getProjectionMatrixMethod · 0.80
getBoundsMethod · 0.45
getFrustumMethod · 0.45
getAmbientLightColorMethod · 0.45

Tested by

no test coverage detected