|
CeresEngine 0.2.0
A game development framework
|
A shadow renderer. Used to render the depth map for the shadow maps. More...
#include <CeresEngine/Renderer/Rendering/ShadowRenderer.hpp>
Public Member Functions | |
| ShadowRenderer (Renderer &renderer, GPUDevice &device) | |
Creates a new instance of the ShadowRenderer. | |
| GPUImagePtr | render (GPUCommandBuffer &commandBuffer, RendererLight &light) |
Renders the shadow map for the given light and returns a pointer to shadow map image object. | |
Protected Member Functions | |
| GPUImagePtr | renderPoint (GPUCommandBuffer &commandBuffer, RendererLight &light) |
| Renders the shadow map for a point light. | |
| GPUImagePtr | renderSpot (GPUCommandBuffer &commandBuffer, RendererLight &light) |
| Renders the shadow map for a spot light. | |
| GPUImagePtr | renderDirectional (GPUCommandBuffer &commandBuffer, RendererLight &light) |
| Renders the shadow map for a directional light. | |
Private Types | |
| using | GraphicsPipelineGetter = std::function< GPUGraphicsPipelinePtr(const VertexDeclaration &)> |
Private Member Functions | |
| void | drawScene (GPUCommandBuffer &commandBuffer, RendererScene &scene, const ConvexVolume &lightFrustum, const RendererGraphicsPipeline &rendererGraphicsPipeline, const RendererShaderSpecialization &shaderSpecialization, const GPUUniformBuffer &lightUniform) |
Private Attributes | |
| Renderer & | mRenderer |
| The renderer that owns this shadow renderer. | |
| GPURenderPassPtr | mRenderPass |
| The GPU shadow render pass. | |
| RendererGraphicsPipelinePtr | mDepthPipeline |
| The graphics pipeline for shadow mapping lights. | |
A shadow renderer. Used to render the depth map for the shadow maps.
|
private |
Creates a new instance of the ShadowRenderer.
|
private |
| GPUImagePtr CeresEngine::ShadowRenderer::render | ( | GPUCommandBuffer & | commandBuffer, |
| RendererLight & | light | ||
| ) |
Renders the shadow map for the given light and returns a pointer to shadow map image object.
| commandBuffer | The command buffer to submit drawing commands. |
| light | The light to render a shadow map for. |
|
protected |
Renders the shadow map for a directional light.
|
protected |
Renders the shadow map for a point light.
|
protected |
Renders the shadow map for a spot light.
|
private |
The graphics pipeline for shadow mapping lights.
|
private |
The renderer that owns this shadow renderer.
|
private |
The GPU shadow render pass.