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

#include <renderer.hpp>

Classes

class  Impl
 

Public Member Functions

 Renderer (ID3D11Device &device, ID3D11DeviceContext &device_context, DisplayConfiguration &display_configuration, SwapChain &swap_chain, ResourceManager &resource_manager)
 
 Renderer (const Renderer &renderer)=delete
 
 Renderer (Renderer &&renderer) noexcept
 
 ~Renderer ()
 
Rendereroperator= (const Renderer &renderer)=delete
 
Rendereroperator= (Renderer &&renderer) noexcept
 
void BindPersistentState ()
 
void Render (const World &world, const GameTime &time)
 

Private Attributes

UniquePtr< Implm_impl
 

Detailed Description

A class of renderers.

Constructor & Destructor Documentation

◆ Renderer() [1/3]

mage::rendering::Renderer::Renderer ( ID3D11Device &  device,
ID3D11DeviceContext &  device_context,
DisplayConfiguration display_configuration,
SwapChain swap_chain,
ResourceManager resource_manager 
)
explicit

Constructs a renderer.

Parameters
[in,out]deviceA reference to the device.
[in,out]device_contextA reference to the device context.
[in,out]display_configurationA reference to the display configuration.
[in,out]swap_chainA reference to the swap chain.
[in,out]resource_managerA pointer to the resource manager.

◆ Renderer() [2/3]

mage::rendering::Renderer::Renderer ( const Renderer renderer)
delete

Constructs a renderer from the given renderer.

Parameters
[in]rendererA reference to the renderer to copy.

◆ Renderer() [3/3]

mage::rendering::Renderer::Renderer ( Renderer &&  renderer)
defaultnoexcept

Constructs a renderer by moving the given renderer.

Parameters
[in]rendererA reference to the renderer to move.

◆ ~Renderer()

mage::rendering::Renderer::~Renderer ( )
default

Destructs this renderer.

Member Function Documentation

◆ BindPersistentState()

void mage::rendering::Renderer::BindPersistentState ( )

Binds the persistent state of this renderer.

Exceptions
ExceptionFailed to bind the persistent state of this renderer.

◆ operator=() [1/2]

Renderer& mage::rendering::Renderer::operator= ( const Renderer renderer)
delete

Copies the given renderer to this renderer.

Parameters
[in]rendererA reference to the renderer to copy.
Returns
A reference to the copy of the given renderer (i.e. this renderer).

◆ operator=() [2/2]

Renderer & mage::rendering::Renderer::operator= ( Renderer &&  renderer)
defaultnoexcept

Moves the given renderer to this renderer.

Parameters
[in]rendererA reference to the renderer to move.
Returns
A reference to the moved renderer (i.e. this renderer).

◆ Render()

void mage::rendering::Renderer::Render ( const World world,
const GameTime time 
)

Renders the given world.

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

Member Data Documentation

◆ m_impl

UniquePtr< Impl > mage::rendering::Renderer::m_impl
private

A pointer to the implementation of this renderer.