![]()  | 
  
    MAGE
    v0.171.0
    
   Matthias Advanced Game Engine 
   | 
 
#include <forward_pass.hpp>
Public Member Functions | |
| ForwardPass (ID3D11Device &device, ID3D11DeviceContext &device_context, StateManager &state_manager, ResourceManager &resource_manager) | |
| ForwardPass (const ForwardPass &pass)=delete | |
| ForwardPass (ForwardPass &&pass) noexcept | |
| ~ForwardPass () | |
| ForwardPass & | operator= (const ForwardPass &pass)=delete | 
| ForwardPass & | operator= (ForwardPass &&pass) noexcept | 
| void XM_CALLCONV | Render (const World &world, FXMMATRIX world_to_projection, BRDF brdf, bool vct) const | 
| void XM_CALLCONV | RenderSolid (const World &world, FXMMATRIX world_to_projection) const | 
| void XM_CALLCONV | RenderGBuffer (const World &world, FXMMATRIX world_to_projection) const | 
| void XM_CALLCONV | RenderEmissive (const World &world, FXMMATRIX world_to_projection) const | 
| void XM_CALLCONV | RenderTransparent (const World &world, FXMMATRIX world_to_projection, BRDF brdf, bool vct) const | 
| void XM_CALLCONV | RenderFalseColor (const World &world, FXMMATRIX world_to_projection, FalseColor false_color) const | 
| void XM_CALLCONV | RenderWireframe (const World &world, FXMMATRIX world_to_projection) | 
Private Member Functions | |
| void | BindFixedOpaqueState () const noexcept | 
| void | BindFixedTransparentState () const noexcept | 
| void | BindFixedWireframeState () const noexcept | 
| void | BindColor (const RGBA &color) | 
| void XM_CALLCONV | Render (const Model &model, FXMMATRIX world_to_projection) const noexcept | 
Private Attributes | |
| std::reference_wrapper< ID3D11DeviceContext > | m_device_context | 
| std::reference_wrapper< StateManager > | m_state_manager | 
| std::reference_wrapper< ResourceManager > | m_resource_manager | 
| VertexShaderPtr | m_vs | 
| TexturePtr | m_uv | 
| ConstantBuffer< RGBA > | m_color_buffer | 
A class of forward passes for performing light calculations.
      
  | 
  explicit | 
Constructs a forward 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 forward pass from the given variable shading pass.
| [in] | pass | A reference to the forward pass to copy. | 
      
  | 
  defaultnoexcept | 
Constructs a forward pass by moving the given variable pass.
| [in] | pass | A reference to the forward pass to move. | 
      
  | 
  default | 
Destructs this forward pass.
      
  | 
  private | 
Binds the color data of this forward pass.
| [in] | color | A reference to the color (in in linear space). | 
| Exception | Failed to bind the color data of this forward pass. | 
      
  | 
  privatenoexcept | 
Binds the fixed opaque state of this forward pass.
      
  | 
  privatenoexcept | 
Binds the fixed transparent state of this forward pass.
      
  | 
  privatenoexcept | 
Binds the fixed wireframe state of this forward pass.
      
  | 
  delete | 
Copies the given forward pass to this forward pass.
| [in] | pass | A reference to the forward pass to copy. | 
      
  | 
  defaultnoexcept | 
Moves the given forward pass to this forward pass.
| [in] | pass | A reference to the forward pass to move. | 
| void XM_CALLCONV mage::rendering::ForwardPass::Render | ( | const World & | world, | 
| FXMMATRIX | world_to_projection, | ||
| BRDF | brdf, | ||
| bool | vct | ||
| ) | const | 
Renders the given world.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| [in] | brdf | The BRDF. | 
| [in] | vct | true if voxel cone tracing should be enabled. false otherwise.  | 
| Exception | Failed to render the world. | 
      
  | 
  privatenoexcept | 
Renders the given model.
| [in] | model | A reference to the model. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| void XM_CALLCONV mage::rendering::ForwardPass::RenderEmissive | ( | const World & | world, | 
| FXMMATRIX | world_to_projection | ||
| ) | const | 
Renders the emissive models of the given world.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| Exception | Failed to render the world. | 
| void XM_CALLCONV mage::rendering::ForwardPass::RenderFalseColor | ( | const World & | world, | 
| FXMMATRIX | world_to_projection, | ||
| FalseColor | false_color | ||
| ) | const | 
Renders the given world as a false color.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| [in] | false_color | The false color. | 
| Exception | Failed to render the world. | 
| void XM_CALLCONV mage::rendering::ForwardPass::RenderGBuffer | ( | const World & | world, | 
| FXMMATRIX | world_to_projection | ||
| ) | const | 
Renders the given world to a GBuffer.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| Exception | Failed to render the world. | 
| void XM_CALLCONV mage::rendering::ForwardPass::RenderSolid | ( | const World & | world, | 
| FXMMATRIX | world_to_projection | ||
| ) | const | 
Renders the given world as solid.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| Exception | Failed to render the world. | 
| void XM_CALLCONV mage::rendering::ForwardPass::RenderTransparent | ( | const World & | world, | 
| FXMMATRIX | world_to_projection, | ||
| BRDF | brdf, | ||
| bool | vct | ||
| ) | const | 
Renders the transparent models of the given world.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| [in] | brdf | The BRDF. | 
| [in] | vct | true if voxel cone tracing should be enabled. false otherwise.  | 
| Exception | Failed to render the world. | 
| void XM_CALLCONV mage::rendering::ForwardPass::RenderWireframe | ( | const World & | world, | 
| FXMMATRIX | world_to_projection | ||
| ) | 
Renders the given world as a wireframe.
| [in] | world | A reference to the world. | 
| [in] | world_to_projection | The world-to-projection transformation matrix. | 
| Exception | Failed to render the world. | 
      
  | 
  private | 
The color buffer of this forward pass.
      
  | 
  private | 
A reference to the device context of this forward pass.
      
  | 
  private | 
A reference to the resource manager of this forward pass.
      
  | 
  private | 
A reference to the state manager of this forward pass.
      
  | 
  private | 
A pointer to the UV reference texture of this forward pass.
      
  | 
  private | 
A pointer to the vertex shader of this forward pass.