LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::Backends::DirectX12PipelineState Class Referenceabstract

Defines the base class for DirectX 12 pipeline state objects. More...

#include <dx12.hpp>

Inherits LiteFX::Rendering::Pipeline< DirectX12PipelineLayout, DirectX12ShaderProgram >, and LiteFX::Resource< THandle >.

Inherited by LiteFX::Rendering::Backends::DirectX12ComputePipeline [virtual], and LiteFX::Rendering::Backends::DirectX12RenderPipeline [virtual].

Public Member Functions

virtual ~DirectX12PipelineState () noexcept=default
 
virtual void use (const DirectX12CommandBuffer &commandBuffer) const noexcept=0
 Sets the current pipeline state on the commandBuffer . More...
 
- Public Member Functions inherited from LiteFX::Rendering::Pipeline< DirectX12PipelineLayout, DirectX12ShaderProgram >
virtual ~Pipeline () noexcept=default
 
virtual SharedPtr< const shader_program_typeprogram () const noexcept=0
 
virtual SharedPtr< const pipeline_layout_typelayout () const noexcept=0
 
- Public Member Functions inherited from LiteFX::Rendering::IPipeline
virtual ~IPipeline () noexcept=default
 
SharedPtr< const IShaderProgramprogram () const noexcept
 Returns the shader program used by the pipeline. More...
 
SharedPtr< const IPipelineLayoutlayout () const noexcept
 Returns the layout of the render pipeline. More...
 
- Public Member Functions inherited from LiteFX::Rendering::IStateResource
virtual ~IStateResource () noexcept=default
 
virtual const Stringname () const noexcept=0
 Returns the name of the resource. More...
 
- Public Member Functions inherited from LiteFX::Rendering::StateResource
 StateResource (StringView name)
 Initializes a new state resource instance. More...
 
 StateResource (StateResource &&)=delete
 
 StateResource (const StateResource &)=delete
 
virtual ~StateResource () noexcept
 
virtual const Stringname () const noexcept override
 Returns the name of the resource. More...
 
- Public Member Functions inherited from LiteFX::Resource< THandle >
 Resource (const Resource &)=delete
 
 Resource (Resource &&)=delete
 
virtual ~Resource () noexcept=default
 
const THandle & handle () const noexcept override
 Returns the resource managed by the class. More...
 
- Public Member Functions inherited from LiteFX::IResource< THandle >
virtual ~IResource () noexcept=default
 
virtual const THandle & handle () const noexcept=0
 Returns the resource managed by the class. More...
 

Additional Inherited Members

- Public Types inherited from LiteFX::Rendering::Pipeline< DirectX12PipelineLayout, DirectX12ShaderProgram >
using shader_program_type = DirectX12ShaderProgram
 
using pipeline_layout_type = DirectX12PipelineLayout
 
- Protected Member Functions inherited from LiteFX::Rendering::StateResource
 StateResource () noexcept
 
Stringname () noexcept
 
- Protected Member Functions inherited from LiteFX::Resource< THandle >
 Resource (const THandle handle) noexcept
 Initializes the managed resource. More...
 
THandle & handle () noexcept override
 Returns the resource managed by the class. More...
 
virtual THandle & handle () noexcept=0
 Returns the resource managed by the class. More...
 

Detailed Description

Defines the base class for DirectX 12 pipeline state objects.

See also
DirectX12RenderPipeline, DirectX12ComputePipeline

Constructor & Destructor Documentation

◆ ~DirectX12PipelineState()

virtual LiteFX::Rendering::Backends::DirectX12PipelineState::~DirectX12PipelineState ( )
virtualdefaultnoexcept

Member Function Documentation

◆ use()

virtual void LiteFX::Rendering::Backends::DirectX12PipelineState::use ( const DirectX12CommandBuffer commandBuffer) const
pure virtualnoexcept

Sets the current pipeline state on the commandBuffer .

Parameters
commandBufferThe command buffer to set the current pipeline state on.

Implemented in LiteFX::Rendering::Backends::DirectX12RenderPipeline, and LiteFX::Rendering::Backends::DirectX12ComputePipeline.