Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::SingleShadowMapGenerator Class Referencefinal

A single shadow map system. Used, for example, by spot lights. More...

#include <SingleShadowMapGenerator.h>

+ Inheritance diagram for Divide::SingleShadowMapGenerator:

Public Member Functions

 SingleShadowMapGenerator (GFXDevice &context)
 
 ~SingleShadowMapGenerator () override
 
void render (const Camera &playerCamera, Light &light, U16 lightIndex, GFX::CommandBuffer &bufferInOut, GFX::MemoryBarrierCommand &memCmdInOut) override
 
void updateMSAASampleCount (U8 sampleCount) override
 
- Public Member Functions inherited from Divide::ShadowMapGenerator
virtual ~ShadowMapGenerator ()=default
 

Protected Member Functions

void blurTarget (U16 layerOffset, GFX::CommandBuffer &bufferInOut)
 
- Protected Member Functions inherited from Divide::ShadowMapGenerator
 ShadowMapGenerator (GFXDevice &context, ShadowType type) noexcept
 
virtual void render (const Camera &playerCamera, Light &light, U16 lightIndex, GFX::CommandBuffer &bufferInOut, GFX::MemoryBarrierCommand &memCmdInOut)=0
 
virtual void updateMSAASampleCount (const U8 sampleCount)
 

Protected Attributes

Pipeline_blurPipeline = nullptr
 
Handle< ShaderProgram_blurDepthMapShader = INVALID_HANDLE<ShaderProgram>
 
RenderTargetHandle _drawBufferDepth
 
RenderTargetHandle _blurBuffer
 
PushConstantsStruct _shaderConstants
 
- Protected Attributes inherited from Divide::ShadowMapGenerator
GFXDevice_context
 
const ShadowType _type
 

Detailed Description

A single shadow map system. Used, for example, by spot lights.

Definition at line 47 of file SingleShadowMapGenerator.h.

Constructor & Destructor Documentation

◆ SingleShadowMapGenerator()

Divide::SingleShadowMapGenerator::SingleShadowMapGenerator ( GFXDevice context)
explicit

Definition at line 32 of file SingleShadowMapGenerator.cpp.

◆ ~SingleShadowMapGenerator()

Divide::SingleShadowMapGenerator::~SingleShadowMapGenerator ( )
override

Definition at line 166 of file SingleShadowMapGenerator.cpp.

Member Function Documentation

◆ blurTarget()

void Divide::SingleShadowMapGenerator::blurTarget ( U16  layerOffset,
GFX::CommandBuffer bufferInOut 
)
protected

Definition at line 235 of file SingleShadowMapGenerator.cpp.

◆ render()

void Divide::SingleShadowMapGenerator::render ( const Camera playerCamera,
Light light,
U16  lightIndex,
GFX::CommandBuffer bufferInOut,
GFX::MemoryBarrierCommand memCmdInOut 
)
overridevirtual

Implements Divide::ShadowMapGenerator.

Definition at line 175 of file SingleShadowMapGenerator.cpp.

◆ updateMSAASampleCount()

void Divide::SingleShadowMapGenerator::updateMSAASampleCount ( U8  sampleCount)
overridevirtual

Reimplemented from Divide::ShadowMapGenerator.

Definition at line 299 of file SingleShadowMapGenerator.cpp.

Member Data Documentation

◆ _blurBuffer

RenderTargetHandle Divide::SingleShadowMapGenerator::_blurBuffer
protected

Definition at line 63 of file SingleShadowMapGenerator.h.

◆ _blurDepthMapShader

Handle<ShaderProgram> Divide::SingleShadowMapGenerator::_blurDepthMapShader = INVALID_HANDLE<ShaderProgram>
protected

Definition at line 61 of file SingleShadowMapGenerator.h.

◆ _blurPipeline

Pipeline* Divide::SingleShadowMapGenerator::_blurPipeline = nullptr
protected

Definition at line 60 of file SingleShadowMapGenerator.h.

◆ _drawBufferDepth

RenderTargetHandle Divide::SingleShadowMapGenerator::_drawBufferDepth
protected

Definition at line 62 of file SingleShadowMapGenerator.h.

◆ _shaderConstants

PushConstantsStruct Divide::SingleShadowMapGenerator::_shaderConstants
protected

Definition at line 64 of file SingleShadowMapGenerator.h.


The documentation for this class was generated from the following files: