Nebula
Loading...
Searching...
No Matches
ddgicontext.cc File Reference
#include "foundation/stdneb.h"
#include "coregraphics/pipeline.h"
#include "ddgicontext.h"
#include <cstdint>
#include "clustering/clustercontext.h"
#include "coregraphics/meshloader.h"
#include "coregraphics/meshresource.h"
#include "frame/default.h"
#include "graphics/cameracontext.h"
#include "graphics/view.h"
#include "lighting/lightcontext.h"
#include "raytracing/raytracingcontext.h"
#include "coregraphics/shaperenderer.h"
#include "gpulang/render/gi/shaders/probe_update.h"
#include "gpulang/render/gi/shaders/probe_finalize.h"
#include "gpulang/render/gi/shaders/gi_volume_cull.h"
#include "gpulang/render/gi/shaders/probe_relocate_and_classify.h"
#include "graphics/globalconstants.h"
#include "gpulang/render/gi/shaders/probe_debug.h"
#include "options.h"
#include "core/cvar.h"

Namespaces

namespace  GI
 The DDGI context is responsible for managing the GI volumes used to apply indirect light in the scene.

Functions

 GI::__ImplementContext (DDGIContext, DDGIContext::ddgiVolumeAllocator) struct UpdateVolume
Math::vec4 GI::SphericalFibonacci (float index, float numSamples)

Variables

Core::CVarg_debug_ddgi = Core::CVarCreate(Core::CVar_Int, "g_debug_ddgi", "0", "Draw DDGI probes")
Core::CVarg_debug_ddgi_probe_size = Core::CVarCreate(Core::CVar_Float, "g_debug_ddgi_probe_size", "0.01f", "Set size of DDGI probes")
struct { 
   CoreGraphics::ShaderId   GI::probeUpdateShader 
   CoreGraphics::ShaderProgramId   GI::probeUpdateProgram 
   CoreGraphics::PipelineRayTracingTable   GI::pipeline 
   CoreGraphics::ShaderId   GI::volumeCullShader 
   CoreGraphics::ShaderProgramId   GI::volumeCullProgram 
   CoreGraphics::ShaderProgramId   GI::volumeClusterDebugProgram 
   CoreGraphics::ShaderId   GI::probeFinalizeShader 
   CoreGraphics::ShaderProgramId   GI::probeBlendRadianceProgram 
   CoreGraphics::ShaderProgramId   GI::probeBlendDistanceProgram 
   CoreGraphics::ShaderProgramId   GI::probeBorderRadianceRowsFixup 
   CoreGraphics::ShaderProgramId   GI::probeBorderRadianceColumnsFixup 
   CoreGraphics::ShaderProgramId   GI::probeBorderDistanceRowsFixup 
   CoreGraphics::ShaderProgramId   GI::probeBorderDistanceColumnsFixup 
   CoreGraphics::ShaderId   GI::probesRelocateAndClassifyShader 
   CoreGraphics::ShaderProgramId   GI::probesRelocateAndClassifyProgram 
   CoreGraphics::ResourceTableSet   GI::raytracingTable 
   CoreGraphics::BufferId   GI::clusterGIVolumeIndexLists 
   CoreGraphics::BufferSet   GI::stagingClusterGIVolumeList 
   CoreGraphics::BufferId   GI::clusterGIVolumeList 
   Util::Array< UpdateVolume >   GI::volumesToUpdate 
   Util::Array< UpdateVolume >   GI::volumesToDraw 
   GiVolumeCull::GIVolume   GI::giVolumes [64] 
   CoreGraphics::ShaderId   GI::debugShader 
   CoreGraphics::ShaderProgramId   GI::debugProgram 
   CoreGraphics::PipelineId   GI::debugPipeline 
   CoreGraphics::MeshResourceId   GI::debugMeshResource 
   CoreGraphics::MeshId   GI::debugMesh 
   Timing::Time   GI::elapsedTime 
GI::state

Variable Documentation

◆ g_debug_ddgi

Core::CVar* g_debug_ddgi = Core::CVarCreate(Core::CVar_Int, "g_debug_ddgi", "0", "Draw DDGI probes")

◆ g_debug_ddgi_probe_size

Core::CVar* g_debug_ddgi_probe_size = Core::CVarCreate(Core::CVar_Float, "g_debug_ddgi_probe_size", "0.01f", "Set size of DDGI probes")