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

Implements the IRasterizer interface. More...

#include <Rasterizer.h>

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

Classes

struct  Impl
 

Public Member Functions

 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.
 

Protected Member Functions

float & lineWidth () noexcept
 Gets a reference to the line width of the rasterizer.
 

Detailed Description

Implements the IRasterizer interface.

Constructor & Destructor Documentation

◆ Rasterizer()

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

Creates a new Rasterizer instance.

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

◆ cullMode()

CullMode spark::render::Rasterizer::cullMode ( ) const
nodiscardoverridevirtualnoexcept

Gets the cull mode of the rasterizer state.

Returns
The CullMode of the rasterizer state.

Implements spark::render::IRasterizer.

◆ cullOrder()

CullOrder spark::render::Rasterizer::cullOrder ( ) const
nodiscardoverridevirtualnoexcept

Gets the cull order of the rasterizer state.

Returns
The CullOrder of the rasterizer state.

Implements spark::render::IRasterizer.

◆ depthStencilState()

const DepthStencilState & spark::render::Rasterizer::depthStencilState ( ) const
nodiscardoverridevirtualnoexcept

Gets the depth/stencil state of the rasterizer.

Returns
The DepthStencilState of the rasterizer.

Implements spark::render::IRasterizer.

◆ lineWidth()

float spark::render::Rasterizer::lineWidth ( ) const
nodiscardoverridevirtualnoexcept

Gets the line width of the rasterizer state.

Returns
A float value representing the line width of the rasterizer state.
Note
This value is only simulated in Vulkan. Instead of this, use a custom shader.

Implements spark::render::IRasterizer.

◆ polygonMode()

PolygonMode spark::render::Rasterizer::polygonMode ( ) const
nodiscardoverridevirtualnoexcept

Gets the polygon mode of the rasterizer state.

Returns
The PolygonMode of the rasterizer state.

Implements spark::render::IRasterizer.