MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::SpritePass Class Reference

#include <sprite_pass.hpp>

Public Member Functions

 SpritePass (ID3D11Device &device, ID3D11DeviceContext &device_context, StateManager &state_manager, ResourceManager &resource_manager)
 
 SpritePass (const SpritePass &pass)=delete
 
 SpritePass (SpritePass &&pass) noexcept
 
 ~SpritePass ()
 
SpritePassoperator= (const SpritePass &pass)=delete
 
SpritePassoperator= (SpritePass &&pass) noexcept
 
void Render (const World &world)
 

Private Member Functions

void BindFixedState () const noexcept
 

Private Attributes

std::reference_wrapper< ID3D11DeviceContext > m_device_context
 
std::reference_wrapper< StateManagerm_state_manager
 
VertexShaderPtr m_vs
 
PixelShaderPtr m_ps
 
SpriteBatch m_sprite_batch
 

Detailed Description

A class of sprite passes for rendering sprites.

Constructor & Destructor Documentation

◆ SpritePass() [1/3]

mage::rendering::SpritePass::SpritePass ( ID3D11Device &  device,
ID3D11DeviceContext &  device_context,
StateManager state_manager,
ResourceManager resource_manager 
)
explicit

Constructs a sprite pass.

Parameters
[in,out]deviceA reference to the device.
[in,out]device_contextA reference to the device context.
[in,out]state_managerA reference to the state manager.
[in,out]resource_managerA reference to the resource manager.

◆ SpritePass() [2/3]

mage::rendering::SpritePass::SpritePass ( const SpritePass pass)
delete

Constructs a sprite pass from the given sprite pass.

Parameters
[in]passA reference to the sprite pass to copy.

◆ SpritePass() [3/3]

mage::rendering::SpritePass::SpritePass ( SpritePass &&  pass)
defaultnoexcept

Constructs a sprite pass by moving the given sprite pass.

Parameters
[in]passA reference to the sprite pass to move.

◆ ~SpritePass()

mage::rendering::SpritePass::~SpritePass ( )
default

Destructs this sprite pass.

Member Function Documentation

◆ BindFixedState()

void mage::rendering::SpritePass::BindFixedState ( ) const
privatenoexcept

Binds the fixed state of this sprite pass.

◆ operator=() [1/2]

SpritePass& mage::rendering::SpritePass::operator= ( const SpritePass pass)
delete

Copies the given sprite pass to this sprite pass.

Parameters
[in]passA reference to the sprite pass to copy.
Returns
A reference to the copy of the given sprite pass (i.e. this sprite pass).

◆ operator=() [2/2]

SpritePass & mage::rendering::SpritePass::operator= ( SpritePass &&  pass)
defaultnoexcept

Moves the given sprite pass to this sprite pass.

Parameters
[in]passA reference to the sprite pass to move.
Returns
A reference to the moved sprite pass (i.e. this sprite pass).

◆ Render()

void mage::rendering::SpritePass::Render ( const World world)

Renders the world.

Parameters
[in]worldA reference to the world.
Exceptions
ExceptionFailed to render the world.

Member Data Documentation

◆ m_device_context

std::reference_wrapper< ID3D11DeviceContext > mage::rendering::SpritePass::m_device_context
private

A reference to the device context of this sprite pass.

◆ m_ps

PixelShaderPtr mage::rendering::SpritePass::m_ps
private

A pointer to the pixel shader of this sprite pass.

◆ m_sprite_batch

SpriteBatch mage::rendering::SpritePass::m_sprite_batch
private

The sprite batch of this sprite pass.

◆ m_state_manager

std::reference_wrapper< StateManager > mage::rendering::SpritePass::m_state_manager
private

A reference to the state manager of this sprite pass.

◆ m_vs

VertexShaderPtr mage::rendering::SpritePass::m_vs
private

A pointer to the vertex shader of this sprite pass.