LiteFX 0.3.1.2022
Computer Graphics Engine
|
The interface for a render pipeline. More...
#include <rendering_api.hpp>
Inherits LiteFX::Rendering::IPipeline.
Inherited by LiteFX::Rendering::RenderPipeline< DirectX12PipelineLayout, DirectX12ShaderProgram, DirectX12InputAssembler, DirectX12Rasterizer >, LiteFX::Rendering::RenderPipeline< VulkanPipelineLayout, VulkanShaderProgram, VulkanInputAssembler, VulkanRasterizer >, and LiteFX::Rendering::RenderPipeline< TPipelineLayout, TShaderProgram, TInputAssembler, TRasterizer >.
Public Member Functions | |
virtual | ~IRenderPipeline () noexcept=default |
SharedPtr< IInputAssembler > | inputAssembler () const noexcept |
Returns the input assembler state used by the render pipeline. More... | |
SharedPtr< IRasterizer > | rasterizer () const noexcept |
Returns the rasterizer state used by the render pipeline. More... | |
virtual Array< const IViewport * > | viewports () const noexcept=0 |
Returns the viewports, the render pipeline can draw to. More... | |
virtual Array< const IScissor * > | scissors () const noexcept=0 |
Returns the scissors of the render pipeline. More... | |
virtual UInt32 & | stencilRef () const noexcept=0 |
Returns a reference to the stencil reference value. More... | |
virtual Vector4f & | blendFactors () const noexcept=0 |
Returns a reference of the constant blend factors for the pipeline. More... | |
virtual const bool & | alphaToCoverage () const noexcept=0 |
Returns true , if the pipeline uses Alpha-to-Coverage multi-sampling. More... | |
Public Member Functions inherited from LiteFX::Rendering::IPipeline | |
virtual | ~IPipeline () noexcept=default |
SharedPtr< const IShaderProgram > | program () const noexcept |
Returns the shader program used by the pipeline. More... | |
SharedPtr< const IPipelineLayout > | layout () const noexcept |
Returns the layout of the render pipeline. More... | |
Public Member Functions inherited from LiteFX::Rendering::IStateResource | |
virtual | ~IStateResource () noexcept=default |
virtual const String & | name () const noexcept=0 |
Returns the name of the resource. More... | |
The interface for a render pipeline.
|
virtualdefaultnoexcept |
|
pure virtualnoexcept |
Returns true
, if the pipeline uses Alpha-to-Coverage multi-sampling.
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.
true
, if the pipeline uses Alpha-to-Coverage multi-sampling.Implemented in LiteFX::Rendering::Backends::DirectX12RenderPipeline, and LiteFX::Rendering::Backends::VulkanRenderPipeline.
|
pure virtualnoexcept |
Returns a reference of the constant blend factors for the pipeline.
You can change the values inside this vector reference to influence the constant blend factors. Blend factors are set for all render targets that use the blend factors BlendFactor::ConstantColor
, BlendFactor::OneMinusConstantColor
, BlendFactor::ConstantAlpha
or BlendFactor::OneMinusConstantAlpha
. They are set on each call to RenderPipeline::use.
Implemented in LiteFX::Rendering::Backends::DirectX12RenderPipeline, and LiteFX::Rendering::Backends::VulkanRenderPipeline.
|
inlinenoexcept |
Returns the input assembler state used by the render pipeline.
|
inlinenoexcept |
Returns the rasterizer state used by the render pipeline.
|
pure virtualnoexcept |
Returns the scissors of the render pipeline.
Implemented in LiteFX::Rendering::Backends::DirectX12RenderPipeline, and LiteFX::Rendering::Backends::VulkanRenderPipeline.
|
pure virtualnoexcept |
Returns a reference to the stencil reference value.
The stencil reference value is used by the stencil test and is set with each call to RenderPipeline::use.
Implemented in LiteFX::Rendering::Backends::DirectX12RenderPipeline, and LiteFX::Rendering::Backends::VulkanRenderPipeline.
|
pure virtualnoexcept |
Returns the viewports, the render pipeline can draw to.
Implemented in LiteFX::Rendering::Backends::DirectX12RenderPipeline, and LiteFX::Rendering::Backends::VulkanRenderPipeline.