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.
|
|
| ~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. |
depthStencilState | The rasterizer depth/stencil state. |
◆ 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.
◆ cullMode() [1/2]
◆ cullMode() [2/2]
◆ cullOrder() [1/2]
◆ cullOrder() [2/2]
◆ 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]