LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl Class Reference

Public Member Functions

 DirectX12RenderPipelineImpl (const DirectX12RenderPass &renderPass, bool alphaToCoverage, const SharedPtr< DirectX12PipelineLayout > &layout, const SharedPtr< DirectX12ShaderProgram > &shaderProgram, const SharedPtr< DirectX12InputAssembler > &inputAssembler, const SharedPtr< DirectX12Rasterizer > &rasterizer)
 
 DirectX12RenderPipelineImpl (const DirectX12RenderPass &renderPass)
 
 ~DirectX12RenderPipelineImpl () noexcept
 
 DirectX12RenderPipelineImpl (DirectX12RenderPipelineImpl &&) noexcept=delete
 
 DirectX12RenderPipelineImpl (const DirectX12RenderPipelineImpl &)=delete
 
DirectX12RenderPipelineImploperator= (DirectX12RenderPipelineImpl &&) noexcept=delete
 
DirectX12RenderPipelineImploperator= (const DirectX12RenderPipelineImpl &)=delete
 
ComPtr< ID3D12PipelineState > initialize (const DirectX12RenderPipeline &pipeline, MultiSamplingLevel samples)
 
ComPtr< ID3D12PipelineState > initializeMeshPipeline (const DirectX12RenderPipeline &pipeline, const D3D12_BLEND_DESC &blendState, const D3D12_RASTERIZER_DESC &rasterizerState, const D3D12_DEPTH_STENCIL_DESC &depthStencilState, D3D12_PRIMITIVE_TOPOLOGY_TYPE topologyType, UINT renderTargets, const std::array< DXGI_FORMAT, D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT > &renderTargetFormats, DXGI_FORMAT depthStencilFormat, const DXGI_SAMPLE_DESC &multisamplingState)
 
ComPtr< ID3D12PipelineState > initializeGraphicsPipeline (const DirectX12RenderPipeline &pipeline, const D3D12_BLEND_DESC &blendState, const D3D12_RASTERIZER_DESC &rasterizerState, const D3D12_DEPTH_STENCIL_DESC &depthStencilState, const D3D12_INPUT_LAYOUT_DESC &inputLayout, D3D12_PRIMITIVE_TOPOLOGY_TYPE topologyType, UINT renderTargets, const std::array< DXGI_FORMAT, D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT > &renderTargetFormats, DXGI_FORMAT depthStencilFormat, const DXGI_SAMPLE_DESC &multisamplingState)
 
void initializeInputAttachmentBindings (const DirectX12FrameBuffer &frameBuffer)
 
void allocateInputAttachmentBindings (const DirectX12FrameBuffer &frameBuffer, const std::ranges::input_range auto &descriptorSets)
 
void updateInputAttachmentBindings (const DirectX12FrameBuffer &frameBuffer)
 
void bindInputAttachments (const DirectX12CommandBuffer &commandBuffer)
 
void onFrameBufferResize (const void *sender, const IFrameBuffer::ResizeEventArgs &)
 
void onFrameBufferRelease (const void *sender, const IFrameBuffer::ReleasedEventArgs &)
 

Friends

class DirectX12RenderPipelineBuilder
 
class DirectX12RenderPipeline
 

Constructor & Destructor Documentation

◆ DirectX12RenderPipelineImpl() [1/4]

LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::DirectX12RenderPipelineImpl ( const DirectX12RenderPass & renderPass,
bool alphaToCoverage,
const SharedPtr< DirectX12PipelineLayout > & layout,
const SharedPtr< DirectX12ShaderProgram > & shaderProgram,
const SharedPtr< DirectX12InputAssembler > & inputAssembler,
const SharedPtr< DirectX12Rasterizer > & rasterizer )
inline

◆ DirectX12RenderPipelineImpl() [2/4]

LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::DirectX12RenderPipelineImpl ( const DirectX12RenderPass & renderPass)
inline

◆ ~DirectX12RenderPipelineImpl()

LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::~DirectX12RenderPipelineImpl ( )
inlinenoexcept

◆ DirectX12RenderPipelineImpl() [3/4]

LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::DirectX12RenderPipelineImpl ( DirectX12RenderPipelineImpl && )
deletenoexcept

◆ DirectX12RenderPipelineImpl() [4/4]

LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::DirectX12RenderPipelineImpl ( const DirectX12RenderPipelineImpl & )
delete

Member Function Documentation

◆ allocateInputAttachmentBindings()

void LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::allocateInputAttachmentBindings ( const DirectX12FrameBuffer & frameBuffer,
const std::ranges::input_range auto & descriptorSets )
inline

◆ bindInputAttachments()

void LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::bindInputAttachments ( const DirectX12CommandBuffer & commandBuffer)
inline

◆ initialize()

ComPtr< ID3D12PipelineState > LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::initialize ( const DirectX12RenderPipeline & pipeline,
MultiSamplingLevel samples )
inline

◆ initializeGraphicsPipeline()

ComPtr< ID3D12PipelineState > LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::initializeGraphicsPipeline ( const DirectX12RenderPipeline & pipeline,
const D3D12_BLEND_DESC & blendState,
const D3D12_RASTERIZER_DESC & rasterizerState,
const D3D12_DEPTH_STENCIL_DESC & depthStencilState,
const D3D12_INPUT_LAYOUT_DESC & inputLayout,
D3D12_PRIMITIVE_TOPOLOGY_TYPE topologyType,
UINT renderTargets,
const std::array< DXGI_FORMAT, D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT > & renderTargetFormats,
DXGI_FORMAT depthStencilFormat,
const DXGI_SAMPLE_DESC & multisamplingState )
inline

◆ initializeInputAttachmentBindings()

void LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::initializeInputAttachmentBindings ( const DirectX12FrameBuffer & frameBuffer)
inline

◆ initializeMeshPipeline()

ComPtr< ID3D12PipelineState > LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::initializeMeshPipeline ( const DirectX12RenderPipeline & pipeline,
const D3D12_BLEND_DESC & blendState,
const D3D12_RASTERIZER_DESC & rasterizerState,
const D3D12_DEPTH_STENCIL_DESC & depthStencilState,
D3D12_PRIMITIVE_TOPOLOGY_TYPE topologyType,
UINT renderTargets,
const std::array< DXGI_FORMAT, D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT > & renderTargetFormats,
DXGI_FORMAT depthStencilFormat,
const DXGI_SAMPLE_DESC & multisamplingState )
inline

◆ onFrameBufferRelease()

void LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::onFrameBufferRelease ( const void * sender,
const IFrameBuffer::ReleasedEventArgs &  )
inline

◆ onFrameBufferResize()

void LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::onFrameBufferResize ( const void * sender,
const IFrameBuffer::ResizeEventArgs &  )
inline

◆ operator=() [1/2]

DirectX12RenderPipelineImpl & LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::operator= ( const DirectX12RenderPipelineImpl & )
delete

◆ operator=() [2/2]

DirectX12RenderPipelineImpl & LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::operator= ( DirectX12RenderPipelineImpl && )
deletenoexcept

◆ updateInputAttachmentBindings()

void LiteFX::Rendering::Backends::DirectX12RenderPipeline::DirectX12RenderPipelineImpl::updateInputAttachmentBindings ( const DirectX12FrameBuffer & frameBuffer)
inline

Friends And Related Symbol Documentation

◆ DirectX12RenderPipeline

friend class DirectX12RenderPipeline
friend

◆ DirectX12RenderPipelineBuilder

friend class DirectX12RenderPipelineBuilder
friend