LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::IRasterizer Class Referenceabstract

Represents the rasterizer state of a RenderPipeline. More...

#include <rendering_api.hpp>

Inherits LiteFX::SharedObject.

Inherited by LiteFX::Rendering::Rasterizer.

Public Member Functions

 ~IRasterizer () noexcept override=default
 
virtual PolygonMode polygonMode () const noexcept=0
 Returns the polygon mode of the rasterizer state.
 
virtual CullMode cullMode () const noexcept=0
 Returns the cull mode of the rasterizer state.
 
virtual CullOrder cullOrder () const noexcept=0
 Returns the cull mode of the rasterizer state.
 
virtual Float lineWidth () const noexcept=0
 Returns the line width of the rasterizer state.
 
virtual const DepthStencilStatedepthStencilState () const noexcept=0
 Returns the depth/stencil state of the rasterizer.
 
- Public Member Functions inherited from LiteFX::SharedObject
virtual ~SharedObject () noexcept=default
 Destroys the shared object.
 
template<typename TSelf >
auto shared_from_this (this TSelf &&self) noexcept
 Returns a shared pointer to the current object instance.
 
template<typename TSelf >
auto weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > >
 Returns a weak pointer to the current object instance.
 

Protected Member Functions

 IRasterizer () noexcept=default
 
 IRasterizer (const IRasterizer &)=default
 
 IRasterizer (IRasterizer &&) noexcept=default
 
IRasterizeroperator= (const IRasterizer &)=default
 
IRasterizeroperator= (IRasterizer &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

Represents the rasterizer state of a RenderPipeline.

Constructor & Destructor Documentation

◆ IRasterizer() [1/3]

LiteFX::Rendering::IRasterizer::IRasterizer ( )
protecteddefaultnoexcept

◆ IRasterizer() [2/3]

LiteFX::Rendering::IRasterizer::IRasterizer ( const IRasterizer & )
protecteddefault

◆ IRasterizer() [3/3]

LiteFX::Rendering::IRasterizer::IRasterizer ( IRasterizer && )
protecteddefaultnoexcept

◆ ~IRasterizer()

LiteFX::Rendering::IRasterizer::~IRasterizer ( )
overridedefaultnoexcept

Member Function Documentation

◆ cullMode()

virtual CullMode LiteFX::Rendering::IRasterizer::cullMode ( ) const
pure virtualnoexcept

Returns the cull mode of the rasterizer state.

Returns
The cull mode of the rasterizer state.

Implemented in LiteFX::Rendering::Rasterizer.

◆ cullOrder()

virtual CullOrder LiteFX::Rendering::IRasterizer::cullOrder ( ) const
pure virtualnoexcept

Returns the cull mode of the rasterizer state.

Returns
The cull mode of the rasterizer state.

Implemented in LiteFX::Rendering::Rasterizer.

◆ depthStencilState()

virtual const DepthStencilState & LiteFX::Rendering::IRasterizer::depthStencilState ( ) const
pure virtualnoexcept

Returns the depth/stencil state of the rasterizer.

Returns
The depth/stencil state of the rasterizer.

Implemented in LiteFX::Rendering::Rasterizer.

◆ lineWidth()

virtual Float LiteFX::Rendering::IRasterizer::lineWidth ( ) const
pure virtualnoexcept

Returns the line width of the rasterizer state.

Note that line width is not supported in DirectX and is only emulated under Vulkan. Instead of forcing this value, it is recommended to use a custom shader for it.

Returns
The line width of the rasterizer state.

Implemented in LiteFX::Rendering::Rasterizer.

◆ operator=() [1/2]

IRasterizer & LiteFX::Rendering::IRasterizer::operator= ( const IRasterizer & )
protecteddefault

◆ operator=() [2/2]

IRasterizer & LiteFX::Rendering::IRasterizer::operator= ( IRasterizer && )
protecteddefaultnoexcept

◆ polygonMode()

virtual PolygonMode LiteFX::Rendering::IRasterizer::polygonMode ( ) const
pure virtualnoexcept

Returns the polygon mode of the rasterizer state.

Returns
The polygon mode of the rasterizer state.

Implemented in LiteFX::Rendering::Rasterizer.