CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::VoxelConeTracing::InjectRadianceRenderTask Class Referencefinal

#include <CeresEngine/Renderer/Rendering/VoxelConeTracing.hpp>

Inheritance diagram for CeresEngine::VoxelConeTracing::InjectRadianceRenderTask:
CeresEngine::SimpleComputeRenderTask CeresEngine::ComputeRenderTask CeresEngine::RenderTask CeresEngine::RefCounted< RenderTask >

Public Member Functions

 InjectRadianceRenderTask (RenderGraph &renderGraph, RendererScene &scene, RendererCamera &camera, const Settings &settings)
 Creates a new InjectRadianceRenderTask.
 
 ~InjectRadianceRenderTask () final
 
- Public Member Functions inherited from CeresEngine::SimpleComputeRenderTask
 SimpleComputeRenderTask (RenderGraph &renderGraph, const String &name)
 
void execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer) override
 
StringView getName () const override
 Returns a display name for the render task.
 
- Public Member Functions inherited from CeresEngine::ComputeRenderTask
 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   albedo 
 
   ImageRenderResourceRef   normal 
 
   ImageRenderResourceRef   emission 
 
} input 
 
struct { 
 
   ImageRenderResourceRef   voxel 
 
} output 
 

Protected Member Functions

void compile (RenderTaskCompiler &compiler) final
 Compiles the render task.
 
void initialize (GPUDevice &device) final
 Perform a sequence of steps that initialize the compute render task.
 
void execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer) final
 
void execute (RenderGraphContext &context, GPUCommandBuffer &commandBuffer, GPUComputePipeline &pipeline) final
 
GPUComputePipelinePtr createComputePipeline (GPUDevice &device) final
 Creates a new compute pipeline instance for the render task.
 
- Protected Member Functions inherited from CeresEngine::SimpleComputeRenderTask
virtual bool isComputePipelineDirty (GPUComputePipeline &computePipeline) const
 Checks if the compute pipeline is dirty and needs to be recreated.
 
- 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

RendererScene & mScene
 
RendererCamera & mCamera
 
const Settings & mSettings
 
GPUSamplerPtr mSampler
 The voxel sampler.
 

Additional Inherited Members

- Protected Attributes inherited from CeresEngine::RenderTask
RenderTaskResourceUsage mResourceUsage
 

Constructor & Destructor Documentation

◆ InjectRadianceRenderTask()

CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::InjectRadianceRenderTask ( RenderGraph &  renderGraph,
RendererScene &  scene,
RendererCamera &  camera,
const Settings &  settings 
)
explicit

Creates a new InjectRadianceRenderTask.

◆ ~InjectRadianceRenderTask()

CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::~InjectRadianceRenderTask ( )
final

Member Function Documentation

◆ compile()

void CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::compile ( RenderTaskCompiler &  compiler)
finalprotectedvirtual

Compiles the render task.

Implements CeresEngine::RenderTask.

◆ createComputePipeline()

GPUComputePipelinePtr CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::createComputePipeline ( GPUDevice &  device)
finalprotectedvirtual

Creates a new compute pipeline instance for the render task.

Parameters
deviceThe device in which the implementation should create the compute pipeline instance from.

Implements CeresEngine::SimpleComputeRenderTask.

◆ execute() [1/2]

void CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::execute ( RenderGraphContext &  context,
GPUCommandBuffer &  commandBuffer 
)
finalprotectedvirtual

◆ execute() [2/2]

void CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::execute ( RenderGraphContext &  context,
GPUCommandBuffer &  commandBuffer,
GPUComputePipeline &  pipeline 
)
finalprotectedvirtual

◆ initialize()

void CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::initialize ( GPUDevice &  device)
finalprotectedvirtual

Perform a sequence of steps that initialize the compute render task.

These operations are only executed once in the first execution.

Reimplemented from CeresEngine::SimpleComputeRenderTask.

Member Data Documentation

◆ albedo

ImageRenderResourceRef CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::albedo

◆ emission

ImageRenderResourceRef CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::emission

◆ [struct]

struct { ... } CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::input

◆ mCamera

RendererCamera& CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::mCamera
private

◆ mSampler

GPUSamplerPtr CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::mSampler
private

The voxel sampler.

◆ mScene

RendererScene& CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::mScene
private

◆ mSettings

const Settings& CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::mSettings
private

◆ normal

ImageRenderResourceRef CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::normal

◆ [struct]

struct { ... } CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::output

◆ voxel

ImageRenderResourceRef CeresEngine::VoxelConeTracing::InjectRadianceRenderTask::voxel

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