|
Nebula
|
The lighting subsystem allows for attaching light source functionality to a GraphicsEntityId.
It currently supports a deferred renderer, dynamic global and local shadows, as well as light probes which are used for dynamic or static environment reflections and irradiance.
Classes | |
| class | CSMUtil |
| Helper class for creating and rendering Cascading Shadow Maps. More... | |
| class | LightContext |
Functions | |
| void | ComputeFrustumPoints (float cascadeBegin, float cascadeEnd, const float aspect, const float fov, Math::vec4 *frustumCorners) |
| Compute frustum points using computed frustum and cascade intervals, basically stolen from Math::frustum. | |
| void | ComputeAABB (vec4 *lightAABBPoints, const vec4 &sceneCenter, const vec4 &sceneExtents) |
| __ImplementContext (LightContext, LightContext::genericLightAllocator) | |
| Lighting::__ImplementContext | ( | LightContext | , |
| LightContext::genericLightAllocator | ) |
| void Lighting::ComputeAABB | ( | vec4 * | lightAABBPoints, |
| const vec4 & | sceneCenter, | ||
| const vec4 & | sceneExtents ) |
| void Lighting::ComputeFrustumPoints | ( | float | cascadeBegin, |
| float | cascadeEnd, | ||
| const float | aspect, | ||
| const float | fov, | ||
| Math::vec4 * | frustumCorners ) |
Compute frustum points using computed frustum and cascade intervals, basically stolen from Math::frustum.
| CoreGraphics::ShaderId Lighting::classificationShader |
| CoreGraphics::BufferId Lighting::clusterLightIndexLists |
| CoreGraphics::BufferId Lighting::clusterLightsList |
| CoreGraphics::BufferId Lighting::clusterPointLights |
| CoreGraphics::BufferId Lighting::clusterSpotLights |
| struct { ... } Lighting::clusterState |
| CoreGraphics::ShaderProgramId Lighting::combineProgram |
| CoreGraphics::ShaderId Lighting::combineShader |
| struct { ... } Lighting::combineState |
| LightsCluster::LightUniforms Lighting::consts |
| CSMUtil Lighting::csmUtil { Shared::NUM_CASCADES } |
| CoreGraphics::ShaderProgramId Lighting::cullProgram |
| CoreGraphics::ShaderProgramId Lighting::debugProgram |
| Graphics::GraphicsEntityId Lighting::globalLightEntity = Graphics::GraphicsEntityId::Invalid() |
| MaterialTemplates::BatchGroup Lighting::globalLightsBatchCode |
| CoreGraphics::TextureId Lighting::globalLightShadowMap = CoreGraphics::InvalidTextureId |
| LightsCluster::LightLists Lighting::lightList |
| struct { ... } Lighting::lightServerState |
| CoreGraphics::TextureId Lighting::localLightShadows = CoreGraphics::InvalidTextureId |
| CoreGraphics::TextureId Lighting::ltcLut0 |
| CoreGraphics::TextureId Lighting::ltcLut1 |
| uint Lighting::numThreadsThisFrame |
| CoreGraphics::ShaderProgramId Lighting::renderProgram |
| CoreGraphics::ResourceTableId Lighting::resourceTable |
| Util::FixedArray<CoreGraphics::ResourceTableId> Lighting::resourceTables |
| Util::RingBuffer<Graphics::GraphicsEntityId> Lighting::shadowcastingLocalLights |
| Shared::ShadowViewConstants Lighting::shadowMatrixUniforms |
| Util::Array<Graphics::GraphicsEntityId> Lighting::spotLightEntities |
| MaterialTemplates::BatchGroup Lighting::spotlightsBatchCode |
| CoreGraphics::BufferSet Lighting::stagingClusterLightsList |
| CoreGraphics::TextureId Lighting::terrainShadowMap = CoreGraphics::InvalidTextureId |
| uint Lighting::terrainShadowMapSize |
| uint Lighting::terrainSize |
| struct { ... } Lighting::textureState |