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

#include <aa_pass.hpp>

Public Member Functions

 AAPass (ID3D11DeviceContext &device_context, StateManager &state_manager, ResourceManager &resource_manager)
 
 AAPass (const AAPass &pass)=delete
 
 AAPass (AAPass &&pass) noexcept
 
 ~AAPass ()
 
AAPassoperator= (const AAPass &pass)=delete
 
AAPassoperator= (AAPass &&pass) noexcept
 
void DispatchPreprocess (const U32x2 &viewport_size, AntiAliasing aa)
 
void Dispatch (const U32x2 &viewport_size, AntiAliasing aa)
 

Private Attributes

std::reference_wrapper< ID3D11DeviceContext > m_device_context
 
std::reference_wrapper< StateManagerm_state_manager
 
std::reference_wrapper< ResourceManagerm_resource_manager
 

Detailed Description

A class of AA passes for performing AA.

Constructor & Destructor Documentation

◆ AAPass() [1/3]

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

Constructs a AA 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.

◆ AAPass() [2/3]

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

Constructs a AA pass from the given AA pass.

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

◆ AAPass() [3/3]

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

Constructs a AA pass by moving the given AA shading pass.

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

◆ ~AAPass()

mage::rendering::AAPass::~AAPass ( )
default

Destructs this AA pass.

Member Function Documentation

◆ Dispatch()

void mage::rendering::AAPass::Dispatch ( const U32x2 viewport_size,
AntiAliasing  aa 
)

Dispatches an AA pass.

Parameters
[in]viewport_sizeA reference to the viewport size.
[in]aaThe anti-aliasing mode.
Exceptions
ExceptionFailed to render the world.

◆ DispatchPreprocess()

void mage::rendering::AAPass::DispatchPreprocess ( const U32x2 viewport_size,
AntiAliasing  aa 
)

Dispatches an AA preprocess.

Parameters
[in]viewport_sizeA reference to the viewport size.
[in]aaThe anti-aliasing mode.
Exceptions
ExceptionFailed to render the world.

◆ operator=() [1/2]

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

Copies the given AA pass to this AA pass.

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

◆ operator=() [2/2]

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

Moves the given AA pass to this AA pass.

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

Member Data Documentation

◆ m_device_context

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

A reference to the device context of this AA pass.

◆ m_resource_manager

std::reference_wrapper< ResourceManager > mage::rendering::AAPass::m_resource_manager
private

A reference to the resource manager of this AA pass.

◆ m_state_manager

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

A reference to the state manager of this AA pass.