11#include "gpulang/render/gi/shaders/probe_finalize.h"
12#include "gpulang/render/gi/shaders/probe_update.h"
Definition ddgicontext.h:31
static void SetPosition(const Graphics::GraphicsEntityId id, const Math::vec3 &position)
Set volume position.
Definition ddgicontext.cc:603
Ids::IdAllocator< Volume > DDGIVolumeAllocator
Definition ddgicontext.h:121
static void SetSize(const Graphics::GraphicsEntityId id, const Math::vec3 &size)
Set volume scale.
Definition ddgicontext.cc:615
__DeclareContext() public ~DDGIContext()
Destructor.
Definition ddgicontext.cc:120
static void UpdateActiveVolumes(const Graphics::ViewId view, const Graphics::FrameContext &ctx)
prepare light lists
Definition ddgicontext.cc:627
static void Dealloc(Graphics::ContextEntityId id)
deallocate a slice
Definition ddgicontext.cc:867
static void Create()
setup light context
Definition ddgicontext.cc:128
static void Discard()
discard light context
Definition ddgicontext.cc:429
static void SetupVolume(const Graphics::GraphicsEntityId id, const VolumeSetup &setup)
Create volume.
Definition ddgicontext.cc:438
static Graphics::ContextEntityId Alloc()
allocate a new slice for this context
Definition ddgicontext.cc:858
static void OnRenderDebug(uint32_t flags)
Definition ddgicontext.cc:833
static DDGIVolumeAllocator ddgiVolumeAllocator
Definition ddgicontext.h:122
Definition graphicscontext.h:175
An ID allocator associates an id with a slice in an N number of arrays.
Definition idallocator.h:39
Nebula's bounding box class.
Definition bbox.h:24
#define __DeclareContext()
Definition graphicscontext.h:46
The DDGI context is responsible for managing the GI volumes used to apply indirect light in the scene...
Definition ddgicontext.cc:41
uint16_t StageMask
Definition view.h:23
Definition resourcetable.h:95
texture type
Definition texture.h:25
Definition ddgicontext.h:84
Math::bbox boundingBox
Definition ddgicontext.h:89
CoreGraphics::TextureId scrollSpace
Definition ddgicontext.h:91
CoreGraphics::TextureId radiance
Definition ddgicontext.h:90
uint numProbesX
Definition ddgicontext.h:85
float distanceExponent
Definition ddgicontext.h:98
CoreGraphics::ResourceTableId updateProbesTable
Definition ddgicontext.h:93
CoreGraphics::TextureId offsets
Definition ddgicontext.h:91
uint numRaysPerProbe
Definition ddgicontext.h:86
float irradianceScale
Definition ddgicontext.h:97
float normalBias
Definition ddgicontext.h:95
CoreGraphics::BufferId volumeConstantBuffer
Definition ddgicontext.h:92
float blendCutoff
Definition ddgicontext.h:105
CoreGraphics::ResourceTableId debugResourceTable
Definition ddgicontext.h:114
CoreGraphics::TextureId states
Definition ddgicontext.h:91
uint numProbesZ
Definition ddgicontext.h:85
Math::vec3 size
Definition ddgicontext.h:87
float hysteresis
Definition ddgicontext.h:104
float viewBias
Definition ddgicontext.h:96
CoreGraphics::ResourceTableId relocateProbesTable
Definition ddgicontext.h:93
CoreGraphics::TextureId distance
Definition ddgicontext.h:91
Graphics::StageMask stageMask
Definition ddgicontext.h:111
float brightnessThreshold
Definition ddgicontext.h:101
CoreGraphics::TextureId irradiance
Definition ddgicontext.h:91
float changeThreshold
Definition ddgicontext.h:100
float encodingGamma
Definition ddgicontext.h:99
float blend
Definition ddgicontext.h:106
Math::vec3 position
Definition ddgicontext.h:88
uint numProbesY
Definition ddgicontext.h:85
float minFrontfaceDistance
Definition ddgicontext.h:103
CoreGraphics::ResourceTableId blendProbesTable
Definition ddgicontext.h:93
ProbeUpdate::VolumeConstants::STRUCT volumeConstants
Definition ddgicontext.h:108
DDGIOptions options
Definition ddgicontext.h:109
float backfaceThreshold
Definition ddgicontext.h:102
Definition ddgicontext.h:45
float hysteresis
Definition ddgicontext.h:58
float blend
Definition ddgicontext.h:60
float normalBias
Definition ddgicontext.h:51
float encodingGamma
Definition ddgicontext.h:55
float updateBudget
Definition ddgicontext.h:61
float brightnessThreshold
Definition ddgicontext.h:57
uint numProbesY
Definition ddgicontext.h:46
Math::vec3 position
Definition ddgicontext.h:49
uint numProbesZ
Definition ddgicontext.h:46
Math::vec3 size
Definition ddgicontext.h:48
Graphics::StageMask stageMask
Definition ddgicontext.h:63
float blendCutoff
Definition ddgicontext.h:59
uint numRaysPerProbe
Definition ddgicontext.h:47
float irradianceScale
Definition ddgicontext.h:53
float distanceExponent
Definition ddgicontext.h:54
uint numProbesX
Definition ddgicontext.h:46
DDGIOptions options
Definition ddgicontext.h:64
float viewBias
Definition ddgicontext.h:52
float changeThreshold
Definition ddgicontext.h:56
Definition graphicscontext.h:143
Definition graphicsserver.h:31
The graphics entity is only an Id, to which we can attach GraphicsContexts.
Definition graphicsentity.h:16
A 3D vector.
Definition vec3.h:37
unsigned int uint
Definition types.h:33
Definition ddgicontext.h:19
struct GI::DDGIOptions::@216165255272205226064354333337361232233070377325 flags
uint relocate
Definition ddgicontext.h:24
uint32_t bits
Definition ddgicontext.h:27
uint scrolling
Definition ddgicontext.h:22
uint lowPrecisionTextures
Definition ddgicontext.h:25
uint classify
Definition ddgicontext.h:23