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

#include <sky_pass.hpp>

Public Member Functions

 SkyPass (ID3D11DeviceContext &device_context, StateManager &state_manager, ResourceManager &resource_manager)
 
 SkyPass (const SkyPass &pass)=delete
 
 SkyPass (SkyPass &&pass) noexcept
 
 ~SkyPass ()
 
SkyPassoperator= (const SkyPass &pass)=delete
 
SkyPassoperator= (SkyPass &&pass) noexcept
 
void Render (ID3D11ShaderResourceView *sky) const noexcept
 

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
 

Detailed Description

A class of sky passes for rendering sky domes to screen.

Constructor & Destructor Documentation

◆ SkyPass() [1/3]

mage::rendering::SkyPass::SkyPass ( ID3D11DeviceContext &  device_context,
StateManager state_manager,
ResourceManager resource_manager 
)
explicit

Constructs a sky pass.

Parameters
[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.

◆ SkyPass() [2/3]

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

Constructs a sky pass from the given sky pass.

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

◆ SkyPass() [3/3]

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

Constructs a sky pass by moving the given sky pass.

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

◆ ~SkyPass()

mage::rendering::SkyPass::~SkyPass ( )
default

Destructs this sky pass.

Member Function Documentation

◆ BindFixedState()

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

Binds the fixed state of this sky pass.

◆ operator=() [1/2]

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

Copies the given sky pass to this sky pass.

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

◆ operator=() [2/2]

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

Moves the given sky pass to this sky pass.

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

◆ Render()

void mage::rendering::SkyPass::Render ( ID3D11ShaderResourceView *  sky) const
noexcept

Renders the given world.

Parameters
[in]skyA pointer to the SRV of the sky.

Member Data Documentation

◆ m_device_context

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

A reference to the device context of this sky pass.

◆ m_ps

PixelShaderPtr mage::rendering::SkyPass::m_ps
private

A pointer to the pixel shader of this sky pass.

◆ m_state_manager

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

A reference to the state manager of this sky pass.

◆ m_vs

VertexShaderPtr mage::rendering::SkyPass::m_vs
private

A pointer to the vertex shader of this sky pass.