class GpuGraphicsPipelineState

Describes the state of the GPU pipeline that determines how are primitives rendered.

It consists of programmable states (vertex, fragment, geometry, etc. GPU programs), as well as a set of fixed states (blend, rasterizer, depth-stencil).

Public

Constructors

GpuGraphicsPipelineState

GpuGraphicsPipelineState(GpuDevice &gpuDevice, const GpuGraphicsPipelineStateCreateInformation &createInformation)

Methods

~GpuGraphicsPipelineState

virtual ~GpuGraphicsPipelineState() = default

Initialize

virtual void Initialize()

Initializes the object.

The object should not be used before this is called.

HasVertexProgram

bool HasVertexProgram() const

HasFragmentProgram

bool HasFragmentProgram() const

HasGeometryProgram

bool HasGeometryProgram() const

HasHullProgram

bool HasHullProgram() const

HasDomainProgram

bool HasDomainProgram() const

GetBlendState

const BlendStateInformation &GetBlendState() const

GetRasterizerState

const RasterizerStateInformation &GetRasterizerState() const

GetDepthStencilState

const DepthStencilStateInformation &GetDepthStencilState() const

GetVertexProgram

const SPtr<GpuProgram> &GetVertexProgram() const

GetFragmentProgram

const SPtr<GpuProgram> &GetFragmentProgram() const

GetGeometryProgram

const SPtr<GpuProgram> &GetGeometryProgram() const

GetHullProgram

const SPtr<GpuProgram> &GetHullProgram() const

GetDomainProgram

const SPtr<GpuProgram> &GetDomainProgram() const

GetParameterLayout

const SPtr<GpuPipelineParameterLayout> &GetParameterLayout() const

Returns an object containing the layout of all parameters in all the GPU programs used in this pipeline state.

Protected

Fields

mGpuDevice

GpuDevice & mGpuDevice

mParameterLayout

SPtr<GpuPipelineParameterLayout> mParameterLayout