34 auto cmd = GFX::EnqueueCommand<GFX::BeginDebugScopeCommand>(bufferInOut);
36 cmd->_scopeId = lightIndex;
56 for (
U8 i = 0u; i < 6u; ++i)
63 GFX::EnqueueCommand<GFX::EndDebugScopeCommand>(bufferInOut);
#define PROFILE_SCOPE_AUTO(CATEGORY)
void render(const Camera &playerCamera, Light &light, U16 lightIndex, GFX::CommandBuffer &bufferInOut, GFX::MemoryBarrierCommand &memCmdInOut) override
void updateMSAASampleCount(U8 sampleCount) noexcept override
CubeShadowMapGenerator(GFXDevice &context)
Rough around the edges Adapter pattern abstracting the actual rendering API and access to the GPU.
void generateCubeMap(RenderPassParams ¶ms, U16 arrayOffset, const vec3< F32 > &pos, vec2< F32 > zPlanes, GFX::CommandBuffer &commandsInOut, GFX::MemoryBarrierCommand &memCmdInOut, mat4< F32 > *viewProjectionOut=nullptr)
Generate a cube texture and store it in the provided RenderTarget.
A light object placed in the scene at a certain position.
void setShadowFloatValue(const U8 index, const F32 newValue) noexcept
void setShadowLightPos(const U8 index, const vec3< F32 > &newValue) noexcept
void setShadowVPMatrix(const U8 index, const mat4< F32 > &newValue) noexcept
U16 getShadowArrayOffset() const noexcept
PlatformContext & context() noexcept
Configuration & config() noexcept
static const RenderTargetHandle & getShadowMap(LightType type)
constexpr Optick::Category::Type Graphics
Str StringFormat(const char *fmt, Args &&...args)
Handle console commands that start with a forward slash.
static constexpr U32 RT_DEPTH_ATTACHMENT_IDX
static const mat4< F32 > MAT4_BIAS_ZERO_ONE_Z
RTClearEntry DEFAULT_CLEAR_ENTRY
constexpr auto to_base(const Type value) -> Type
struct Divide::Configuration::Rendering::ShadowMapping shadowMapping
struct Divide::Configuration::Rendering rendering
static NO_INLINE void printfn(const char *format, T &&... args)
const SceneGraphNode * _sourceNode
RTDrawDescriptor _targetDescriptorMainPass
RenderStagePass _stagePass
RTClearDescriptor _clearDescriptorMainPass