Nebula
Loading...
Searching...
No Matches
lightcontext.cc File Reference
#include "lightcontext.h"
#include "graphics/graphicsserver.h"
#include "graphics/view.h"
#include "graphics/cameracontext.h"
#include "resources/resourceserver.h"
#include "visibility/visibilitycontext.h"
#include "clustering/clustercontext.h"
#include "core/cvar.h"
#include "util/occupancyquadtree.h"
#include "dynui/im3d/im3dcontext.h"
#include "debug/framescriptinspector.h"
#include "materials/gpulang/materialtemplatesgpulang.h"
#include "materials/materialloader.h"
#include "graphics/globalconstants.h"
#include "gpulang/render/system_shaders/shared.h"
#include "gpulang/render/system_shaders/combine.h"
#include "frame/default.h"
#include "frame/shadows.h"

Namespaces

namespace  Lighting
 The lighting subsystem allows for attaching light source functionality to a GraphicsEntityId.

Macros

#define CLUSTERED_LIGHTING_DEBUG   0

Functions

 Lighting::__ImplementContext (LightContext, LightContext::genericLightAllocator)
void Lighting::CalculateCSMSplits (const Graphics::GraphicsEntityId camera, const Math::vec3 lightDirection, const Util::FixedArray< float > &distances, Util::FixedArray< Math::mat4 > &projections, Util::FixedArray< Math::mat4 > &viewProjections, const float shadowTileSize, const Math::bbox &shadowRegion)

Variables

struct { 
   Util::Array< Graphics::GraphicsEntityId >   Lighting::spotLightEntities 
   Util::Array< Ids::Id32 >   Lighting::shadowCastingLights 
   CoreGraphics::TextureId   Lighting::terrainShadowMap = CoreGraphics::InvalidTextureId 
   uint   Lighting::terrainShadowMapSize 
   uint   Lighting::terrainSize 
   Util::OccupancyQuadTree   Lighting::shadowAtlasTileOctree 
   CoreGraphics::TextureId   Lighting::shadowAtlas 
   CoreGraphics::TextureViewId   Lighting::shadowAtlasView 
   CoreGraphics::PassId   Lighting::shadowPass 
Lighting::lightServerState
struct { 
   CoreGraphics::ShaderId   Lighting::classificationShader 
   CoreGraphics::ShaderProgramId   Lighting::cullProgram 
   CoreGraphics::ShaderProgramId   Lighting::debugProgram 
   CoreGraphics::ShaderProgramId   Lighting::renderProgram 
   CoreGraphics::BufferId   Lighting::clusterLightIndexLists 
   CoreGraphics::BufferSet   Lighting::stagingClusterLightsList 
   CoreGraphics::BufferId   Lighting::clusterLightsList 
   CoreGraphics::BufferId   Lighting::clusterPointLights 
   CoreGraphics::BufferId   Lighting::clusterSpotLights 
   CoreGraphics::ResourceTableId   Lighting::resourceTable 
   uint   Lighting::numThreadsThisFrame 
   LightsCluster::LightLists::STRUCT   Lighting::lightList 
   LightsCluster::LightUniforms::STRUCT   Lighting::consts 
Lighting::clusterState
struct { 
   CoreGraphics::ShaderId   Lighting::combineShader 
   CoreGraphics::ShaderProgramId   Lighting::combineProgram 
   CoreGraphics::BufferId   Lighting::combineConstants 
   Util::FixedArray< CoreGraphics::ResourceTableId >   Lighting::resourceTables 
Lighting::combineState
struct { 
   CoreGraphics::TextureId   Lighting::ltcLut0 
   CoreGraphics::TextureId   Lighting::ltcLut1 
Lighting::textureState

Macro Definition Documentation

◆ CLUSTERED_LIGHTING_DEBUG

#define CLUSTERED_LIGHTING_DEBUG   0