|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/Renderer/Rendering/VoxelConeTracing.hpp>
Public Member Functions | |
| IndirectLightingRenderTask (RenderGraph &renderGraph, RendererCamera &camera, const Settings &settings) | |
Creates a new IndirectLightingRenderTask. | |
| ~IndirectLightingRenderTask () final | |
Public Member Functions inherited from CeresEngine::SimpleGraphicsRenderTask | |
| SimpleGraphicsRenderTask (RenderGraph &renderGraph, const String &name) | |
| void | execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer, GPURenderTarget &renderTarget) override |
| StringView | getName () const override |
| Returns a display name for the render task. | |
| virtual void | execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer)=0 |
Executes the render task with the given commandBuffer. | |
Public Member Functions inherited from CeresEngine::GraphicsRenderTask | |
| RenderTask (RenderGraph &renderGraph) | |
Public Member Functions inherited from CeresEngine::RenderTask | |
| RenderTask (RenderGraph &renderGraph) | |
| virtual | ~RenderTask () |
| RenderTaskResourceUsage & | compile () |
| Compiles the render task. | |
| virtual RenderTaskStatus | check () const |
| Returns true if the task is dirty and needs to be run. | |
| virtual Any | getSettings () const |
| Gets a const-reference to the render task settings. | |
| virtual Any | getSettings () |
| Gets a reference to the render task settings. | |
| const Vector< InputSlot * > & | getInputs () const |
| const Vector< OutputSlot * > & | getOutputs () const |
| const RenderTaskResourceUsage & | getResourceUsage () const |
Public Member Functions inherited from CeresEngine::RefCounted< RenderTask > | |
| RefCounted (Args &&... args) | |
Creates a new RefCounted object and constructs a new Deleter by forwarding Args to it. | |
| void | retain () noexcept |
| Retains the object by increment it's reference count by one. | |
| bool | release () noexcept |
| Relases the object by decrementing it's reference count by one. | |
Public Attributes | ||
| struct { | ||
| ImageRenderResourceRef depth | ||
| An image holding frame depth. More... | ||
| ImageRenderResourceRef normalAndRoughness | ||
| An image holding normals and material roughness. More... | ||
| ImageRenderResourceRef albedoAndAmbientOcclusion | ||
| An image holding the material albedo and ambient occlusion factor. More... | ||
| ImageRenderResourceRef emissionAndMetallic | ||
| An image holding the material emissive properties and material metallic factor. More... | ||
| ImageRenderResourceRef voxel | ||
| } | input | |
| struct { | ||
| ImageRenderResourceRef lighting | ||
| } | output | |
Protected Member Functions | |
| void | initialize (GPUDevice &devic) final |
| Perform a sequence of steps that initialize the graphics render task. | |
| void | compile (RenderTaskCompiler &compiler) final |
| Compiles the render task. | |
| void | execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer, GPURenderTarget &renderTarget, GPUGraphicsPipeline &pipeline) final |
| GPUGraphicsPipelinePtr | createGraphicsPipeline (GPUDevice &device, GPURenderPass &renderPass) final |
| Creates a new graphics pipeline instance for the render task. | |
Protected Member Functions inherited from CeresEngine::SimpleGraphicsRenderTask | |
| virtual bool | isGraphicsPipelineDirty (GPUGraphicsPipeline &graphicsPipeline, GPURenderPass &renderPass) const |
| Checks if the graphics pipeline is dirty and needs to be recreated. | |
Protected Member Functions inherited from CeresEngine::GraphicsRenderTask | |
| virtual bool | isRenderPassDirty (GPURenderPass &renderPass) const |
| Checks if the render pass is dirty and needs to be recreated. | |
| virtual GPURenderPassPtr | createRenderPass (GPUDevice &device) |
| Creates a new render pass instance for the render task. | |
| virtual bool | isRenderTargetDirty (GPURenderTarget &renderTarget, GPURenderPass &renderPass) const |
| Checks if the render target is dirty and needs to be recreated. | |
| virtual GPURenderTargetPtr | createRenderTarget (GPUDevice &device, GPURenderPass &renderPass) |
| Creates a new render target instance for the render task. | |
Protected Member Functions inherited from CeresEngine::RenderTask | |
| virtual bool | shouldConnect (const Slot &slot, const Slot &targetSlot) const |
| An internal method called whenever a new connection is being made. | |
| virtual void | willConnect (Slot &slot, Slot &targetSlot) |
| An internal method called before the slot is connected. | |
| virtual void | didConnect (Slot &slot, Connection &connection) |
| An internal method called after the slot is connected. | |
| virtual bool | shouldDisconnect (const Slot &slot, const Connection &connection) const |
| An internal method called whenever a new disconnection is being made. | |
| virtual void | willDisconnect (Slot &slot, Connection &connection) |
| An internal method called before the slot is disconnected. | |
| virtual void | didDisconnect (Slot &slot, Connection &connection) |
| An internal method called whenever the slot is disconnected. | |
| ImageRenderResource & | create (const GPUImageDescriptor &descriptor) |
| BufferRenderResource & | create (const GPUBufferDescriptor &descriptor) |
Private Attributes | |
| RendererCamera & | mCamera |
| const Settings & | mSettings |
| GPUSamplerPtr | mGeometrySampler |
| A sampler object used to sample from the G-Buffer images. | |
| GPUSamplerPtr | mVoxelSampler |
| A sampler object used to sample from the voxel image. | |
Additional Inherited Members | |
Protected Attributes inherited from CeresEngine::SimpleGraphicsRenderTask | |
| GPUGraphicsPipelinePtr | mPipeline |
| The cached graphics pipeline instance. | |
Protected Attributes inherited from CeresEngine::GraphicsRenderTask | |
| GPURenderPassPtr | mRenderPass |
| The cached render pass instance. | |
| GPURenderTargetPtr | mRenderTarget |
| The cached render target instance. | |
Protected Attributes inherited from CeresEngine::RenderTask | |
| RenderTaskResourceUsage | mResourceUsage |
|
explicit |
Creates a new IndirectLightingRenderTask.
|
final |
|
finalprotectedvirtual |
Compiles the render task.
Implements CeresEngine::RenderTask.
|
finalprotectedvirtual |
Creates a new graphics pipeline instance for the render task.
| device | The device in which the implementation should create the graphics pipeline instance from. |
| renderPass | A reference to the current render pass. The implementation must use this render pass to create the new graphics pipeline. |
Implements CeresEngine::SimpleGraphicsRenderTask.
|
finalprotectedvirtual |
Implements CeresEngine::SimpleGraphicsRenderTask.
|
finalprotectedvirtual |
Perform a sequence of steps that initialize the graphics render task.
These operations are only executed once in the first execution.
Reimplemented from CeresEngine::SimpleGraphicsRenderTask.
| ImageRenderResourceRef CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::albedoAndAmbientOcclusion |
An image holding the material albedo and ambient occlusion factor.
| ImageRenderResourceRef CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::depth |
An image holding frame depth.
| ImageRenderResourceRef CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::emissionAndMetallic |
An image holding the material emissive properties and material metallic factor.
| struct { ... } CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::input |
| ImageRenderResourceRef CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::lighting |
|
private |
|
private |
A sampler object used to sample from the G-Buffer images.
|
private |
A sampler object used to sample from the voxel image.
| ImageRenderResourceRef CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::normalAndRoughness |
An image holding normals and material roughness.
| struct { ... } CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::output |
| ImageRenderResourceRef CeresEngine::VoxelConeTracing::IndirectLightingRenderTask::voxel |