3#include <Core/World/World.h>
4#include <Foundation/Math/Color16f.h>
5#include <Foundation/Types/Bitflags.h>
6#include <RendererCore/Lights/Implementation/ReflectionPool.h>
7#include <RendererCore/Lights/Implementation/ReflectionProbeData.h>
8#include <RendererCore/Lights/Implementation/ReflectionProbeMapping.h>
9#include <RendererCore/Lights/Implementation/ReflectionProbeUpdater.h>
10#include <RendererCore/Pipeline/View.h>
16static constexpr plUInt32 s_uiReflectionCubeMapSize = 128;
17static constexpr plUInt32 s_uiNumReflectionProbeCubeMaps = 32;
18static constexpr float s_fDebugSphereRadius = 0.3f;
20inline plUInt32 GetMipLevels()
44 : m_mapping(s_uiNumReflectionProbeCubeMaps)
51 plEventSubscriptionID m_mappingSubscriptionId = 0;
64 void PostExtraction();
74 void CreateSkyIrradianceTexture();
77 plUInt64 m_uiWorldHasSkyLight = 0;
78 plUInt64 m_uiSkyIrradianceChanged = 0;
Box reflection probe component.
Definition BoxReflectionProbeComponent.h:15
Definition RendererFoundationDLL.h:411
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Provides a simple mechanism for mutual exclusion to prevent multiple threads from accessing a shared ...
Definition Mutex.h:13
Base class for all reflection probes.
Definition ReflectionProbeComponentBase.h:13
This class creates a reflection probe atlas and controls the mapping of added probes to the available...
Definition ReflectionProbeMapping.h:25
Renders reflection probes and stores filtered mipmap chains into an atlas texture as well as computin...
Definition ReflectionProbeUpdater.h:15
Definition SkyLightComponent.h:15
Sphere reflection probe component.
Definition SphereReflectionProbeComponent.h:18
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
PL_ALWAYS_INLINE plUInt32 Log2i(plUInt32 uiVal)
Returns the integral logarithm to the base 2, that comes closest to the given integer.
Definition MathInt32_inl.h:41
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Definition ReflectionPoolData.h:34
Definition ReflectionPoolData.h:42
plReflectionPool::Data
Definition ReflectionPoolData.h:29
void PreExtraction()
Dynamic Update.
Definition ReflectionPoolData.cpp:213
void CreateReflectionViewsAndResources()
Resource Creation.
Definition ReflectionPoolData.cpp:296
Describes how a cube map should be generated.
Definition ReflectionProbeData.h:24
Event generated on mapping changes.
Definition ReflectionProbeMapping.h:11