SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::vk::VulkanRasterizer Class Referencefinal

Vulkan implementation of IRasterizer. More...

#include <VulkanRasterizer.h>

Inheritance diagram for spark::render::vk::VulkanRasterizer:
spark::render::Rasterizer spark::render::IRasterizer

Public Member Functions

 VulkanRasterizer (PolygonMode polygon_mode, CullMode cull_mode, CullOrder cull_order, float line_width, const DepthStencilState &depth_stencil_state) noexcept
 Initializes a new rasterizer state for Vulkan.
 
 VulkanRasterizer (const VulkanRasterizer &other)=delete
 
 VulkanRasterizer (VulkanRasterizer &&other) noexcept=delete
 
VulkanRasterizeroperator= (const VulkanRasterizer &other)=delete
 
VulkanRasterizeroperator= (VulkanRasterizer &&other) noexcept=delete
 
void updateLineWidth (float line_width) noexcept
 Sets the line width of the rasterizer.
 
- Public Member Functions inherited from spark::render::Rasterizer
 Rasterizer (PolygonMode polygon_mode, CullMode cull_mode, CullOrder cull_order, float line_width, const DepthStencilState &depth_stencil_state) noexcept
 Creates a new Rasterizer instance.
 
 Rasterizer (const Rasterizer &other)
 
 Rasterizer (Rasterizer &&other) noexcept
 
Rasterizeroperator= (const Rasterizer &other)
 
Rasterizeroperator= (Rasterizer &&other) noexcept
 
PolygonMode polygonMode () const noexcept override
 Gets the polygon mode of the rasterizer state.
 
CullMode cullMode () const noexcept override
 Gets the cull mode of the rasterizer state.
 
CullOrder cullOrder () const noexcept override
 Gets the cull order of the rasterizer state.
 
float lineWidth () const noexcept override
 Gets the line width of the rasterizer state.
 
const DepthStencilStatedepthStencilState () const noexcept override
 Gets the depth/stencil state of the rasterizer.
 

Additional Inherited Members

- Protected Member Functions inherited from spark::render::Rasterizer
float & lineWidth () noexcept
 Gets a reference to the line width of the rasterizer.
 

Detailed Description

Vulkan implementation of IRasterizer.

Constructor & Destructor Documentation

◆ VulkanRasterizer()

spark::render::vk::VulkanRasterizer::VulkanRasterizer ( PolygonMode polygon_mode,
CullMode cull_mode,
CullOrder cull_order,
float line_width,
const DepthStencilState & depth_stencil_state )
explicitnoexcept

Initializes a new rasterizer state for Vulkan.

Parameters
polygon_modeThe PolygonMode of the rasterizer.
cull_modeThe CullMode of the rasterizer.
cull_orderThe CullOrder of the rasterizer.
line_widthThe line width of the rasterizer.
depth_stencil_stateThe DepthStencilState of the rasterizer.

Member Function Documentation

◆ updateLineWidth()

void spark::render::vk::VulkanRasterizer::updateLineWidth ( float line_width)
noexcept

Sets the line width of the rasterizer.

Parameters
line_widthThe new line width.
Note
Using this function requires the wide lines feature to be enabled.
Warning
If the feature is not supported, you must ensure that the line width is 1.0f.