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 |
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 |