| 64 | U32 ShadowMapPass::smRenderBudgetMs = 8; |
| 65 | |
| 66 | ShadowMapPass::ShadowMapPass(LightManager* lightManager, ShadowMapManager* shadowManager) |
| 67 | { |
| 68 | mLightManager = lightManager; |
| 69 | mShadowManager = shadowManager; |
| 70 | |
| 71 | // Setup our render pass managers |
| 72 | |
| 73 | // Static |
| 74 | mShadowRPM = new ShadowRenderPassManager(); |
| 75 | mShadowRPM->assignName( "ShadowRenderPassManager" ); |
| 76 | mShadowRPM->registerObject(); |
| 77 | Sim::getRootGroup()->addObject( mShadowRPM ); |
| 78 | mShadowRPM->addManager( new RenderMeshMgr(RenderPassManager::RIT_Mesh, 0.3f, 0.3f) ); |
| 79 | mShadowRPM->addManager( new RenderTerrainMgr( 0.5f, 0.5f ) ); |
| 80 | mShadowRPM->addManager( new RenderImposterMgr( 0.6f, 0.6f ) ); |
| 81 | |
| 82 | // Dynamic |
| 83 | mDynamicShadowRPM = new DynamicShadowRenderPassManager(); |
| 84 | mDynamicShadowRPM->assignName( "DynamicShadowRenderPassManager" ); |
| 85 | mDynamicShadowRPM->registerObject(); |
| 86 | Sim::getRootGroup()->addObject( mDynamicShadowRPM ); |
| 87 | mDynamicShadowRPM->addManager( new RenderMeshMgr(RenderPassManager::RIT_Mesh, 0.3f, 0.3f) ); |
| 88 | mDynamicShadowRPM->addManager( new RenderTerrainMgr( 0.5f, 0.5f ) ); |
| 89 | mDynamicShadowRPM->addManager( new RenderImposterMgr( 0.6f, 0.6f ) ); |
| 90 | |
| 91 | mActiveLights = 0; |
| 92 | mPrevCamPos = Point3F::Zero; |
| 93 | mPrevCamRot = Point3F::Zero; |
| 94 | mTimer = PlatformTimer::create(); |
| 95 | |
| 96 | Con::addVariable( "$ShadowStats::activeMaps", TypeS32, &smActiveShadowMaps, |
| 97 | "The shadow stats showing the active number of shadow maps.\n" |
| 98 | "@ingroup AdvancedLighting\n" ); |
| 99 | |
| 100 | Con::addVariable( "$ShadowStats::updatedMaps", TypeS32, &smUpdatedShadowMaps, |
| 101 | "The shadow stats showing the number of shadow maps updated this frame.\n" |
| 102 | "@ingroup AdvancedLighting\n" ); |
| 103 | |
| 104 | Con::addVariable( "$ShadowStats::nearMaps", TypeS32, &smNearShadowMaps, |
| 105 | "The shadow stats showing the number of shadow maps that are close enough to be updated very frame.\n" |
| 106 | "@ingroup AdvancedLighting\n" ); |
| 107 | |
| 108 | Con::addVariable( "$ShadowStats::drawCalls", TypeS32, &smShadowMapsDrawCalls, |
| 109 | "The shadow stats showing the number of draw calls in shadow map renders for this frame.\n" |
| 110 | "@ingroup AdvancedLighting\n" ); |
| 111 | |
| 112 | Con::addVariable( "$ShadowStats::polyCount", TypeS32, &smShadowMapPolyCount, |
| 113 | "The shadow stats showing the number of triangles in shadow map renders for this frame.\n" |
| 114 | "@ingroup AdvancedLighting\n" ); |
| 115 | |
| 116 | Con::addVariable( "$ShadowStats::rtChanges", TypeS32, &smRenderTargetChanges, |
| 117 | "The shadow stats showing the number of render target changes for shadow maps in this frame.\n" |
| 118 | "@ingroup AdvancedLighting\n" ); |
| 119 | |
| 120 | Con::addVariable( "$ShadowStats::poolTexCount", TypeS32, &smShadowPoolTexturesCount, |
| 121 | "The shadow stats showing the number of shadow textures in the shadow texture pool.\n" |
| 122 | "@ingroup AdvancedLighting\n" ); |
| 123 |
nothing calls this directly
no test coverage detected