Castor3D 0.12.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
castor3d::GeometryInjectionPass Class Reference

#include <GeometryInjectionPass.hpp>

Inheritance diagram for castor3d::GeometryInjectionPass:
Inheritance graph
[legend]
Collaboration diagram for castor3d::GeometryInjectionPass:
Collaboration graph
[legend]

Public Types

enum  Idx : uint32_t {
  LightsIdx , RsmNormalsIdx , RsmPositionIdx , LpvGridUboIdx ,
  LpvLightUboIdx
}
 

Public Member Functions

C3D_API GeometryInjectionPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, LightType lightType, uint32_t gridSize, uint32_t rsmSize)
 Constructor. More...
 
C3D_API GeometryInjectionPass (crg::FramePass const &pass, crg::GraphContext &context, crg::RunnableGraph &graph, RenderDevice const &device, CubeMapFace face, uint32_t gridSize, uint32_t rsmSize)
 Constructor for point lights. More...
 
C3D_API void accept (PipelineVisitorBase &visitor)
 Visitor acceptance function. More...
 

Static Public Member Functions

static TexturePtr createResult (crg::ResourceHandler &handler, RenderDevice const &device, castor::String const &prefix, uint32_t index, uint32_t gridSize)
 Creates the geometry injection pass result. More...
 

Member Enumeration Documentation

◆ Idx

Enumerator
LightsIdx 
RsmNormalsIdx 
RsmPositionIdx 
LpvGridUboIdx 
LpvLightUboIdx 

Constructor & Destructor Documentation

◆ GeometryInjectionPass() [1/2]

C3D_API castor3d::GeometryInjectionPass::GeometryInjectionPass ( crg::FramePass const &  pass,
crg::GraphContext &  context,
crg::RunnableGraph &  graph,
RenderDevice const &  device,
LightType  lightType,
uint32_t  gridSize,
uint32_t  rsmSize 
)

Constructor.

Parameters
[in]passThe parent frame pass.
[in]contextThe rendering context.
[in]graphThe runnable graph.
[in]deviceThe GPU device.
[in]lightTypeThe light source type.
[in]gridSizeThe grid dimensions.
[in]rsmSizeThe reflective shadow map dimensions.

◆ GeometryInjectionPass() [2/2]

C3D_API castor3d::GeometryInjectionPass::GeometryInjectionPass ( crg::FramePass const &  pass,
crg::GraphContext &  context,
crg::RunnableGraph &  graph,
RenderDevice const &  device,
CubeMapFace  face,
uint32_t  gridSize,
uint32_t  rsmSize 
)

Constructor for point lights.

Parameters
[in]passThe parent frame pass.
[in]contextThe rendering context.
[in]graphThe runnable graph.
[in]deviceThe GPU device.
[in]faceThe cube shadow map face.
[in]gridSizeThe grid dimensions.
[in]rsmSizeThe reflective shadow map dimensions.

Member Function Documentation

◆ accept()

C3D_API void castor3d::GeometryInjectionPass::accept ( PipelineVisitorBase visitor)

Visitor acceptance function.

Parameters
visitorThe ... visitor.

◆ createResult()

static TexturePtr castor3d::GeometryInjectionPass::createResult ( crg::ResourceHandler &  handler,
RenderDevice const &  device,
castor::String const &  prefix,
uint32_t  index,
uint32_t  gridSize 
)
static

Creates the geometry injection pass result.

Parameters
[in]handlerThe render graph resources handler.
[in]deviceThe GPU device.
[in]prefixThe pass name's prefix.
[in]indexThe layer index.
[in]gridSizeThe grid dimensions.

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