VoxelEngine
 
Loading...
Searching...
No Matches
engine::RenderPass Class Referenceabstract
Inheritance diagram for engine::RenderPass:
engine::CompositePass engine::DirectionalShadowPass engine::ScenePass engine::TransparentPass

Public Types

using ID = uint16_t
 

Public Member Functions

 RenderPass (const RenderPass &)=delete
 
RenderPassoperator= (const RenderPass &)=delete
 
 RenderPass (RenderPass &&) noexcept=delete
 
RenderPassoperator= (RenderPass &&) noexcept=delete
 
virtual void beforeRender (Engine &engine, uint8_t pass)=0
 
virtual void afterRender (Engine &engine, uint8_t pass)=0
 
virtual void resize (glm::ivec2 resolution)
 
ID id () const
 
uint8_t passes () const
 

Public Attributes

const Materialmaterial = nullptr
 
const gl::FBO * fbo = nullptr
 
std::optional< glm::ivec2 > viewportSize = std::nullopt
 

Static Public Attributes

static constexpr ID DirectionalShadow = 1 << 0
 
static constexpr ID OmniShadow = 1 << 1
 
static constexpr ID Scene = 1 << 2
 
static constexpr ID SceneTransparent = 1 << 3
 
static constexpr ID Composite = 1 << 4
 

Protected Member Functions

 RenderPass (glm::ivec2 resolution, uint8_t passes=1)
 Constructs pass with next available ID, use only for custom passes.
 
 RenderPass (glm::ivec2 resolution, ID id, uint8_t passes=1)
 Constructs pass with specific ID, use only for built-in passes.
 

Protected Attributes

glm::ivec2 m_resolution
 

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