![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
#include <bounding_volume_pass.hpp>
Public Member Functions | |
BoundingVolumePass (ID3D11Device &device, ID3D11DeviceContext &device_context, StateManager &state_manager, ResourceManager &resource_manager) | |
BoundingVolumePass (const BoundingVolumePass &pass)=delete | |
BoundingVolumePass (BoundingVolumePass &&pass) noexcept | |
~BoundingVolumePass () | |
BoundingVolumePass & | operator= (const BoundingVolumePass &pass)=delete |
BoundingVolumePass & | operator= (BoundingVolumePass &&pass) noexcept |
void XM_CALLCONV | Render (const World &world, FXMMATRIX world_to_projection) |
Private Member Functions | |
void | BindFixedState () const noexcept |
void | BindLightColor () |
void | BindModelColor () |
void | BindColor (const RGBA &color) |
void XM_CALLCONV | BindTransform (FXMMATRIX cube_to_world) |
void XM_CALLCONV | Render (const AABB &aabb, FXMMATRIX object_to_world) |
Private Attributes | |
std::reference_wrapper< ID3D11DeviceContext > | m_device_context |
std::reference_wrapper< StateManager > | m_state_manager |
VertexShaderPtr | m_vs |
PixelShaderPtr | m_ps |
ConstantBuffer< RGBA > | m_color_buffer |
ConstantBuffer< XMMATRIX > | m_transform_buffer |
A class of bounding volume passes for rendering model and finite light volumes.
|
explicit |
Constructs a bounding volume pass.
[in,out] | device | A reference to the device. |
[in,out] | device_context | A reference to the device context. |
[in,out] | state_manager | A reference to the state manager. |
[in,out] | resource_manager | A reference to the resource manager. |
|
delete |
Constructs a bounding volume pass from the given bounding volume pass.
[in] | pass | A reference to the bounding volume pass to copy. |
|
defaultnoexcept |
Constructs a bounding volume pass by moving the given bounding volume pass.
[in] | pass | A reference to the bounding volume pass to move. |
|
default |
Destructs this bounding volume pass.
|
private |
Binds the color of this bounding volume pass.
[in] | color | A reference to the color. |
Exception | Failed to bind the light color of this bounding volume pass. |
|
privatenoexcept |
Binds the fixed state of this bounding volume pass.
|
private |
Binds the light color of this bounding volume pass.
Exception | Failed to bind the light color of this bounding volume pass. |
|
private |
Binds the model color of this bounding volume pass.
Exception | Failed to bind the model color of this bounding volume pass. |
|
private |
Binds the transform of this bounding volume pass.
[in] | cube_to_world | The cube-to-world transformation matrix used for transforming cube vertices. |
Exception | Failed to bind the transform of this bounding volume pass. |
|
delete |
Copies the given bounding volume pass to this bounding volume pass.
[in] | pass | A reference to the bounding volume pass to copy. |
|
defaultnoexcept |
Moves the given bounding volume pass to this bounding volume pass.
[in] | pass | A reference to the bounding volume pass to move. |
void XM_CALLCONV mage::rendering::BoundingVolumePass::Render | ( | const World & | world, |
FXMMATRIX | world_to_projection | ||
) |
Renders the world.
[in] | world | A reference to the world. |
[in] | world_to_projection | The world-to-projection transformation matrix. |
Exception | Failed to render the world. |
|
private |
|
private |
The color buffer of this bounding volume pass.
|
private |
A reference to the device context of this bounding volume pass.
|
private |
A pointer to the pixel shader of this bounding volume pass.
|
private |
A reference to the state manager of this bounding volume pass.
|
private |
The transform buffer of this bounding volume pass.
|
private |
A pointer to the vertex shader of this bounding volume pass.