![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
Public Member Functions | |
Impl (ID3D11Device &device, ID3D11DeviceContext &device_context, DisplayConfiguration &display_configuration, SwapChain &swap_chain, ResourceManager &resource_manager) | |
Impl (const Impl &renderer)=delete | |
Impl (Impl &&renderer) noexcept | |
~Impl () | |
Impl & | operator= (const Impl &renderer)=delete |
Impl & | operator= (Impl &&renderer) noexcept |
void | BindPersistentState () |
void | Render (const World &world, const GameTime &time) |
Private Member Functions | |
void | InitializePasses () |
void | UpdateBuffers (const World &world, const GameTime &time) |
void | UpdateWorldBuffer (const GameTime &time) |
void | Render (const World &world, const Camera &camera) |
void XM_CALLCONV | RenderForward (const World &world, const Camera &camera, FXMMATRIX world_to_projection) |
void XM_CALLCONV | RenderDeferred (const World &world, const Camera &camera, FXMMATRIX world_to_projection) |
void XM_CALLCONV | RenderSolid (const World &world, const Camera &camera, FXMMATRIX world_to_projection) |
void XM_CALLCONV | RenderFalseColor (const World &world, const Camera &camera, FXMMATRIX world_to_projection, FalseColor false_color) |
void XM_CALLCONV | RenderVoxelGrid (const World &world, const Camera &camera, FXMMATRIX world_to_projection) |
void | RenderAA (const Camera &camera) |
void | RenderPostProcessing (const Camera &camera) |
Private Attributes | |
std::reference_wrapper< DisplayConfiguration > | m_display_configuration |
std::reference_wrapper< ID3D11Device > | m_device |
std::reference_wrapper< ID3D11DeviceContext > | m_device_context |
std::reference_wrapper< ResourceManager > | m_resource_manager |
UniquePtr< OutputManager > | m_output_manager |
UniquePtr< StateManager > | m_state_manager |
ConstantBuffer< WorldBuffer > | m_world_buffer |
UniquePtr< AAPass > | m_aa_pass |
UniquePtr< BackBufferPass > | m_back_buffer_pass |
UniquePtr< BoundingVolumePass > | m_bounding_volume_pass |
UniquePtr< DeferredPass > | m_deferred_pass |
UniquePtr< DepthPass > | m_depth_pass |
UniquePtr< ForwardPass > | m_forward_pass |
UniquePtr< LBufferPass > | m_lbuffer_pass |
UniquePtr< PostProcessPass > | m_postprocess_pass |
UniquePtr< SkyPass > | m_sky_pass |
UniquePtr< SpritePass > | m_sprite_pass |
UniquePtr< VoxelGridPass > | m_voxel_grid_pass |
UniquePtr< VoxelizationPass > | m_voxelization_pass |
A class of renderers.
|
explicit |
Constructs a renderer.
[in,out] | device | A reference to the device. |
[in,out] | device_context | A reference to the device context. |
[in,out] | display_configuration | A reference to the display configuration. |
[in,out] | swap_chain | A reference to the swap chain. |
[in,out] | resource_manager | A pointer to the resource manager. |
|
delete |
Constructs a renderer from the given renderer.
[in] | renderer | A reference to the renderer to copy. |
|
defaultnoexcept |
Constructs a renderer by moving the given renderer.
[in] | renderer | A reference to the renderer to move. |
|
default |
Destructs this renderer.
void mage::rendering::Renderer::Impl::BindPersistentState | ( | ) |
Binds the persistent state of this renderer.
Exception | Failed to bind the persistent state of this renderer. |
|
private |
Copies the given renderer to this renderer.
[in] | renderer | A reference to the renderer to copy. |
|
defaultnoexcept |
Moves the given renderer to this renderer.
[in] | renderer | A reference to the renderer to move. |
Renders the given world.
[in] | world | A reference to the world. |
[in] | time | A reference to the game time. |
Exception | Failed to render the world. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
A pointer to the AA pass of this renderer.
|
private |
A pointer to the back buffer pass of this renderer.
|
private |
A pointer to the bounding volume pass of this renderer.
|
private |
A pointer to the deferred pass of this renderer.
A pointer to the depth pass of this renderer.
|
private |
A reference to the device of this renderer.
|
private |
A reference to the device context of this renderer.
|
private |
A reference to the display configuration of this renderer.
|
private |
A pointer to the forward pass of this renderer.
|
private |
A pointer to the LBuffer pass of this renderer.
|
private |
A pointer to the output manager of this rendering manager.
|
private |
A pointer to the post-process pass of this renderer.
|
private |
A reference to the resource manager of this renderer.
A pointer to the sky pass of this renderer.
|
private |
A pointer to the sprite pass of this renderer.
|
private |
A pointer to the state manager of this rendering manager.
|
private |
A pointer to the voxel grid pass of this renderer.
|
private |
A pointer to the voxelization pass of this renderer.
|
private |
A pointer to the world buffer of this renderer.