LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::Rasterizer Class Reference

Implements a IRasterizer. More...

#include <rendering_api.hpp>

Inherits LiteFX::Rendering::IRasterizer.

Inherited by LiteFX::Rendering::Backends::DirectX12Rasterizer, and LiteFX::Rendering::Backends::VulkanRasterizer.

Classes

class  RasterizerImpl
 

Public Member Functions

 Rasterizer (const PolygonMode &polygonMode, const CullMode &cullMode, const CullOrder &cullOrder, const Float &lineWidth=1.f, const DepthStencilState &depthStencilState={}) noexcept
 Initializes a new rasterizer instance. More...
 
 Rasterizer (Rasterizer &&) noexcept
 
 Rasterizer (const Rasterizer &) noexcept
 
virtual ~Rasterizer () noexcept
 
virtual const PolygonMode & polygonMode () const noexcept override
 Returns the polygon mode of the rasterizer state. More...
 
virtual const CullMode & cullMode () const noexcept override
 Returns the cull mode of the rasterizer state. More...
 
virtual const CullOrder & cullOrder () const noexcept override
 Returns the cull mode of the rasterizer state. More...
 
virtual const FloatlineWidth () const noexcept override
 Returns the line width of the rasterizer state. More...
 
virtual const DepthStencilStatedepthStencilState () const noexcept override
 Returns the depth/stencil state of the rasterizer. More...
 
- Public Member Functions inherited from LiteFX::Rendering::IRasterizer
virtual ~IRasterizer () noexcept=default
 
virtual const PolygonMode & polygonMode () const noexcept=0
 Returns the polygon mode of the rasterizer state. More...
 
virtual const CullMode & cullMode () const noexcept=0
 Returns the cull mode of the rasterizer state. More...
 
virtual const CullOrder & cullOrder () const noexcept=0
 Returns the cull mode of the rasterizer state. More...
 
virtual const FloatlineWidth () const noexcept=0
 Returns the line width of the rasterizer state. More...
 
virtual const DepthStencilStatedepthStencilState () const noexcept=0
 Returns the depth/stencil state of the rasterizer. More...
 

Protected Member Functions

virtual PolygonMode & polygonMode () noexcept
 
virtual CullMode & cullMode () noexcept
 
virtual CullOrder & cullOrder () noexcept
 
virtual FloatlineWidth () noexcept
 
virtual DepthStencilStatedepthStencilState () noexcept
 

Detailed Description

Implements a IRasterizer.

Constructor & Destructor Documentation

◆ Rasterizer() [1/3]

Rasterizer::Rasterizer ( const PolygonMode &  polygonMode,
const CullMode &  cullMode,
const CullOrder &  cullOrder,
const Float lineWidth = 1.f,
const DepthStencilState depthStencilState = {} 
)
explicitnoexcept

Initializes a new rasterizer instance.

Parameters
polygonModeThe polygon mode of the rasterizer state.
cullModeThe cull mode of the rasterizer state.
cullOrderThe cull order of the rasterizer state.
lineWidthThe line width of the rasterizer state.
depthStencilStateThe rasterizer depth/stencil state.

◆ Rasterizer() [2/3]

Rasterizer::Rasterizer ( Rasterizer &&  _other)
noexcept

◆ Rasterizer() [3/3]

Rasterizer::Rasterizer ( const Rasterizer _other)
noexcept

◆ ~Rasterizer()

Rasterizer::~Rasterizer ( )
virtualdefaultnoexcept

Member Function Documentation

◆ cullMode() [1/2]

const CullMode & Rasterizer::cullMode ( ) const
overridevirtualnoexcept

Returns the cull mode of the rasterizer state.

Implements LiteFX::Rendering::IRasterizer.

◆ cullMode() [2/2]

CullMode & Rasterizer::cullMode ( )
protectedvirtualnoexcept

◆ cullOrder() [1/2]

const CullOrder & Rasterizer::cullOrder ( ) const
overridevirtualnoexcept

Returns the cull mode of the rasterizer state.

Implements LiteFX::Rendering::IRasterizer.

◆ cullOrder() [2/2]

CullOrder & Rasterizer::cullOrder ( )
protectedvirtualnoexcept

◆ depthStencilState() [1/2]

const DepthStencilState & Rasterizer::depthStencilState ( ) const
overridevirtualnoexcept

Returns the depth/stencil state of the rasterizer.

Implements LiteFX::Rendering::IRasterizer.

◆ depthStencilState() [2/2]

DepthStencilState & Rasterizer::depthStencilState ( )
protectedvirtualnoexcept

◆ lineWidth() [1/2]

const Float & Rasterizer::lineWidth ( ) const
overridevirtualnoexcept

Returns the line width of the rasterizer state.

Implements LiteFX::Rendering::IRasterizer.

◆ lineWidth() [2/2]

Float & Rasterizer::lineWidth ( )
protectedvirtualnoexcept

◆ polygonMode() [1/2]

const PolygonMode & Rasterizer::polygonMode ( ) const
overridevirtualnoexcept

Returns the polygon mode of the rasterizer state.

Implements LiteFX::Rendering::IRasterizer.

◆ polygonMode() [2/2]

PolygonMode & Rasterizer::polygonMode ( )
protectedvirtualnoexcept