SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::IRenderPipeline Class Referenceabstract

Interface for a render pipeline. More...

#include <RenderPipeilne.h>

Inheritance diagram for spark::render::IRenderPipeline:
spark::render::IPipeline spark::render::IStateResource spark::render::RenderPipeline< VulkanPipelineLayout, VulkanShaderProgram, VulkanInputAssembler, VulkanRasterizer > spark::render::RenderPipeline< PipelineLayoutType, ShaderProgramType, InputAssemblerType, RasterizerType > spark::render::vk::VulkanRenderPipeline

Public Member Functions

std::shared_ptr< IInputAssemblerinputAssembler () const noexcept
 Gets the input assembler state used by the render pipeline.
 
std::shared_ptr< IRasterizerrasterizer () const noexcept
 Gets the rasterizer state used by the render pipeline.
 
virtual bool alphaToCoverage () const noexcept=0
 Checks if the render pipeline is using alpha to coverage.
 
- Public Member Functions inherited from spark::render::IPipeline
std::shared_ptr< const IShaderProgramprogram () const noexcept
 Gets the shader program used by the pipeline.
 
std::shared_ptr< IPipelineLayoutlayout () const noexcept
 Gets the pipeline layout.
 
- Public Member Functions inherited from spark::render::IStateResource
virtual const std::string & name () const noexcept=0
 Gets the name of the state resource.
 

Detailed Description

Interface for a render pipeline.

Member Function Documentation

◆ alphaToCoverage()

virtual bool spark::render::IRenderPipeline::alphaToCoverage ( ) const
nodiscardpure virtualnoexcept

Checks if the render pipeline is using alpha to coverage.

Returns
true if the render pipeline is using alpha to coverage, false otherwise.

Alpha-to-Coverage is a multi-sampling technique used for partially transparent sprites or textures (such as foliage) to prevent visible flickering along edges. If enabled, the alpha-channel of the first (non-depth/stencil) render target is used to generate a temporary coverage mask that is combined with the fragment coverage mask using a logical AND.

Implemented in spark::render::vk::VulkanRenderPipeline.

◆ inputAssembler()

std::shared_ptr< IInputAssembler > spark::render::IRenderPipeline::inputAssembler ( ) const
inlinenodiscardnoexcept

Gets the input assembler state used by the render pipeline.

Returns
A std::shared_ptr to the IInputAssembler state used by the render pipeline.

◆ rasterizer()

std::shared_ptr< IRasterizer > spark::render::IRenderPipeline::rasterizer ( ) const
inlinenodiscardnoexcept

Gets the rasterizer state used by the render pipeline.

Returns
A std::shared_ptr to the IRasterizer state used by the render pipeline.