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 "gi/shaders/probe_update.h"
#include "gi/shaders/probe_finalize.h"
#include "gi/shaders/gi_volume_cull.h"
#include "gi/shaders/probe_relocate_and_classify.h"
#include "graphics/globalconstants.h"
#include "gi/shaders/probe_debug.h"
#include <raytracing/shaders/raytracetest.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")