MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::Pipeline::OM Struct Reference

#include <pipeline.hpp>

Static Public Member Functions

static void BindDepthStencilState (ID3D11DeviceContext &device_context, ID3D11DepthStencilState *state, U32 stencil_ref=0u) noexcept
 
static void BindBlendState (ID3D11DeviceContext &device_context, ID3D11BlendState *state, U32 sample_mask=0xffffffff) noexcept
 
static void BindBlendState (ID3D11DeviceContext &device_context, ID3D11BlendState *state, const F32 blend_factor[4], U32 sample_mask=0xffffffff) noexcept
 
static void BindRTVAndDSV (ID3D11DeviceContext &device_context, ID3D11RenderTargetView *rtv, ID3D11DepthStencilView *dsv) noexcept
 
static void BindRTVsAndDSV (ID3D11DeviceContext &device_context, U32 nb_views, ID3D11RenderTargetView *const *rtvs, ID3D11DepthStencilView *dsv) noexcept
 
static void BindRTVAndDSVAndUAV (ID3D11DeviceContext &device_context, ID3D11RenderTargetView *rtv, ID3D11DepthStencilView *dsv, U32 uav_slot, ID3D11UnorderedAccessView *uav, U32 initial_count=0u) noexcept
 
static void BindRTVsAndDSVAndUAV (ID3D11DeviceContext &device_context, U32 nb_views, ID3D11RenderTargetView *const *rtvs, ID3D11DepthStencilView *dsv, U32 uav_slot, ID3D11UnorderedAccessView *uav, U32 initial_count=0u) noexcept
 
static void BindRTVsAndDSVAndUAVs (ID3D11DeviceContext &device_context, U32 nb_views, ID3D11RenderTargetView *const *rtvs, ID3D11DepthStencilView *dsv, U32 uav_slot, U32 nb_uavs, ID3D11UnorderedAccessView *const *uavs, const U32 *initial_counts=nullptr) noexcept
 
static void ClearRTV (ID3D11DeviceContext &device_context, ID3D11RenderTargetView *rtv) noexcept
 
static void ClearRTV (ID3D11DeviceContext &device_context, ID3D11RenderTargetView *rtv, const F32 rgba[4]) noexcept
 
static void ClearDSV (ID3D11DeviceContext &device_context, ID3D11DepthStencilView *dsv, F32 depth=s_clear_depth, U8 stencil=0u) noexcept
 
static void ClearDepthOfDSV (ID3D11DeviceContext &device_context, ID3D11DepthStencilView *dsv, F32 depth=s_clear_depth) noexcept
 
static void ClearStencilOfDSV (ID3D11DeviceContext &device_context, ID3D11DepthStencilView *dsv, U8 stencil=0u) noexcept
 

Static Public Attributes

static constexpr F32 s_clear_depth = 0.0f
 

Detailed Description

The output merger stage.

Member Function Documentation

◆ BindBlendState() [1/2]

static void mage::rendering::Pipeline::OM::BindBlendState ( ID3D11DeviceContext &  device_context,
ID3D11BlendState *  state,
U32  sample_mask = 0xffffffff 
)
staticnoexcept

◆ BindBlendState() [2/2]

static void mage::rendering::Pipeline::OM::BindBlendState ( ID3D11DeviceContext &  device_context,
ID3D11BlendState *  state,
const F32  blend_factor[4],
U32  sample_mask = 0xffffffff 
)
staticnoexcept

◆ BindDepthStencilState()

static void mage::rendering::Pipeline::OM::BindDepthStencilState ( ID3D11DeviceContext &  device_context,
ID3D11DepthStencilState *  state,
U32  stencil_ref = 0u 
)
staticnoexcept

◆ BindRTVAndDSV()

static void mage::rendering::Pipeline::OM::BindRTVAndDSV ( ID3D11DeviceContext &  device_context,
ID3D11RenderTargetView *  rtv,
ID3D11DepthStencilView *  dsv 
)
staticnoexcept

◆ BindRTVAndDSVAndUAV()

static void mage::rendering::Pipeline::OM::BindRTVAndDSVAndUAV ( ID3D11DeviceContext &  device_context,
ID3D11RenderTargetView *  rtv,
ID3D11DepthStencilView *  dsv,
U32  uav_slot,
ID3D11UnorderedAccessView *  uav,
U32  initial_count = 0u 
)
staticnoexcept

◆ BindRTVsAndDSV()

static void mage::rendering::Pipeline::OM::BindRTVsAndDSV ( ID3D11DeviceContext &  device_context,
U32  nb_views,
ID3D11RenderTargetView *const *  rtvs,
ID3D11DepthStencilView *  dsv 
)
staticnoexcept

◆ BindRTVsAndDSVAndUAV()

static void mage::rendering::Pipeline::OM::BindRTVsAndDSVAndUAV ( ID3D11DeviceContext &  device_context,
U32  nb_views,
ID3D11RenderTargetView *const *  rtvs,
ID3D11DepthStencilView *  dsv,
U32  uav_slot,
ID3D11UnorderedAccessView *  uav,
U32  initial_count = 0u 
)
staticnoexcept

◆ BindRTVsAndDSVAndUAVs()

static void mage::rendering::Pipeline::OM::BindRTVsAndDSVAndUAVs ( ID3D11DeviceContext &  device_context,
U32  nb_views,
ID3D11RenderTargetView *const *  rtvs,
ID3D11DepthStencilView *  dsv,
U32  uav_slot,
U32  nb_uavs,
ID3D11UnorderedAccessView *const *  uavs,
const U32 initial_counts = nullptr 
)
staticnoexcept

◆ ClearDepthOfDSV()

static void mage::rendering::Pipeline::OM::ClearDepthOfDSV ( ID3D11DeviceContext &  device_context,
ID3D11DepthStencilView *  dsv,
F32  depth = s_clear_depth 
)
staticnoexcept

◆ ClearDSV()

static void mage::rendering::Pipeline::OM::ClearDSV ( ID3D11DeviceContext &  device_context,
ID3D11DepthStencilView *  dsv,
F32  depth = s_clear_depth,
U8  stencil = 0u 
)
staticnoexcept

◆ ClearRTV() [1/2]

static void mage::rendering::Pipeline::OM::ClearRTV ( ID3D11DeviceContext &  device_context,
ID3D11RenderTargetView *  rtv 
)
staticnoexcept

◆ ClearRTV() [2/2]

static void mage::rendering::Pipeline::OM::ClearRTV ( ID3D11DeviceContext &  device_context,
ID3D11RenderTargetView *  rtv,
const F32  rgba[4] 
)
staticnoexcept

◆ ClearStencilOfDSV()

static void mage::rendering::Pipeline::OM::ClearStencilOfDSV ( ID3D11DeviceContext &  device_context,
ID3D11DepthStencilView *  dsv,
U8  stencil = 0u 
)
staticnoexcept

Member Data Documentation

◆ s_clear_depth

constexpr F32 mage::rendering::Pipeline::OM::s_clear_depth = 0.0f
static