Implements a IRasterizer.
More...
#include <rendering_api.hpp>
Inherits LiteFX::Rendering::IRasterizer.
Inherited by LiteFX::Rendering::Backends::DirectX12Rasterizer, and LiteFX::Rendering::Backends::VulkanRasterizer.
|
| | ~Rasterizer () noexcept override |
| | Releases the rasterizer instance.
|
| |
| PolygonMode | polygonMode () const noexcept override |
| | Returns the polygon mode of the rasterizer state.- Returns
- The polygon mode of the rasterizer state.
|
| |
| CullMode | cullMode () const noexcept override |
| | Returns the cull mode of the rasterizer state.- Returns
- The cull mode of the rasterizer state.
|
| |
| CullOrder | cullOrder () const noexcept override |
| | Returns the cull mode of the rasterizer state.- Returns
- The cull mode of the rasterizer state.
|
| |
| Float | lineWidth () const noexcept override |
| | 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.
|
| |
| const DepthStencilState & | depthStencilState () const noexcept override |
| | Returns the depth/stencil state of the rasterizer.- Returns
- The depth/stencil state of the rasterizer.
|
| |
| bool | depthClip () const noexcept override |
| | Returns true, if z-clipping should be used during distance clipping.- Returns
true, if z-clipping should be used during distance clipping and false otherwise.
|
| |
| bool | conservativeRasterization () const noexcept override |
| | Returns true, if conservative rasterization is enabled and false otherwise.This setting requires the GraphicsDeviceFeatures::ConservativeRasterization feature to be enabled.
|
| |
| | ~IRasterizer () noexcept override=default |
| |
| 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.
|
| |
|
| template<typename T , typename... TArgs> |
| static auto | create (TArgs &&... args) -> SharedPtr< T > |
| | Generic factory method used to create instances of the shared object.
|
| |
Implements a IRasterizer.
◆ Rasterizer() [1/3]
|
|
explicitprotectednoexcept |
Initializes a new rasterizer instance.
- Parameters
-
| polygonMode | The polygon mode of the rasterizer state. |
| cullMode | The cull mode of the rasterizer state. |
| cullOrder | The cull order of the rasterizer state. |
| lineWidth | The line width of the rasterizer state. |
| depthClip | The depth clip toggle of the rasterizer state. |
| depthStencilState | The rasterizer depth/stencil state. |
| conservativeRasterization | Toggles the use of conservative rasterization in the rasterizer. |
◆ Rasterizer() [2/3]
| Rasterizer::Rasterizer |
( |
const Rasterizer & | _other | ) |
|
|
protecteddefault |
Creates a copy of a rasterizer.
- Parameters
-
| _other | The rasterizer instance to copy. |
◆ Rasterizer() [3/3]
Takes over another instance of a rasterizer.
- Parameters
-
| _other | The rasterizer instance to take over. |
◆ ~Rasterizer()
| Rasterizer::~Rasterizer |
( |
| ) |
|
|
overridedefaultnoexcept |
Releases the rasterizer instance.
◆ conservativeRasterization() [1/2]
| bool Rasterizer::conservativeRasterization |
( |
| ) |
const |
|
overridevirtualnoexcept |
◆ conservativeRasterization() [2/2]
| bool & Rasterizer::conservativeRasterization |
( |
| ) |
|
|
protectedvirtualnoexcept |
◆ cullMode() [1/2]
◆ cullMode() [2/2]
◆ cullOrder() [1/2]
◆ cullOrder() [2/2]
◆ depthClip() [1/2]
| bool Rasterizer::depthClip |
( |
| ) |
const |
|
overridevirtualnoexcept |
Returns true, if z-clipping should be used during distance clipping.
- Returns
true, if z-clipping should be used during distance clipping and false otherwise.
Implements LiteFX::Rendering::IRasterizer.
◆ depthClip() [2/2]
| bool & Rasterizer::depthClip |
( |
| ) |
|
|
protectedvirtualnoexcept |
◆ depthStencilState() [1/2]
◆ depthStencilState() [2/2]
◆ lineWidth() [1/2]
| Float Rasterizer::lineWidth |
( |
| ) |
const |
|
overridevirtualnoexcept |
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.
Implements LiteFX::Rendering::IRasterizer.
◆ lineWidth() [2/2]
| Float & Rasterizer::lineWidth |
( |
| ) |
|
|
protectedvirtualnoexcept |
◆ operator=() [1/2]
Assigns a rasterizer by copying it.
- Parameters
-
| _other | The rasterizer instance to copy. |
- Returns
- A reference to the current rasterizer instance.
◆ operator=() [2/2]
Assigns a rasterizer by taking it over.
- Parameters
-
| _other | The rasterizer to take over. |
- Returns
- A reference to the current rasterizer instance.
◆ polygonMode() [1/2]
◆ polygonMode() [2/2]