CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GPUGraphicsPipelineDescriptor Struct Referencefinal

#include <CeresEngine/RenderAPI/GPUGraphicsPipeline.hpp>

Static Public Member Functions

template<typename Processor >
static constexpr void reflect (Processor &&RTTI)
 Executes the given processor for every field of the struct.
 

Public Attributes

GPUShaderProgramPtr shaderProgram = nullptr
 Pointer to the shader program for the graphics pipeline.
 
GPURenderPassPtr renderPass = nullptr
 Pointer to a RenderPass object. By default null.
 
GPUPipelineLayoutPtr pipelineLayout = nullptr
 Pointer to an optional pipeline layout for the graphics pipeline.
 
PrimitiveTopology primitiveTopology = PrimitiveTopology::Triangles
 Specifies the primitive topology and ordering of the primitive data.
 
UInt32 patchControlPoints = 0
 Specifies the number of control points when using patches primitives.
 
Vector< Viewportviewports
 Specifies an optional list of viewports.
 
Vector< Scissorscissors
 Specifies an optional list of scissor rectangles.
 
GPUVertexInputDescriptor vertexInput
 Specifies the vertex assembly state descriptor.
 
GPUGraphicsPipelineState state
 Specifies the graphics state descriptor.
 
String name
 A user-facing name for the pipeline.
 

Member Function Documentation

◆ reflect()

template<typename Processor >
static constexpr void CeresEngine::GPUGraphicsPipelineDescriptor::reflect ( Processor &&  RTTI)
inlinestaticconstexpr

Executes the given processor for every field of the struct.

Parameters
RTTIThe processor to be ran for every field.

Member Data Documentation

◆ name

String CeresEngine::GPUGraphicsPipelineDescriptor::name

A user-facing name for the pipeline.

This is only used for debugging.

◆ patchControlPoints

UInt32 CeresEngine::GPUGraphicsPipelineDescriptor::patchControlPoints = 0

Specifies the number of control points when using patches primitives.

◆ pipelineLayout

GPUPipelineLayoutPtr CeresEngine::GPUGraphicsPipelineDescriptor::pipelineLayout = nullptr

Pointer to an optional pipeline layout for the graphics pipeline.

By default null. If null, will use the deduced pipeline layout for the shader program.

◆ primitiveTopology

PrimitiveTopology CeresEngine::GPUGraphicsPipelineDescriptor::primitiveTopology = PrimitiveTopology::Triangles

Specifies the primitive topology and ordering of the primitive data.

By default PrimitiveType::triangleList.

◆ renderPass

GPURenderPassPtr CeresEngine::GPUGraphicsPipelineDescriptor::renderPass = nullptr

Pointer to a RenderPass object. By default null.

◆ scissors

Vector<Scissor> CeresEngine::GPUGraphicsPipelineDescriptor::scissors

Specifies an optional list of scissor rectangles.

If empty, the scissors must be set dynamically with the command buffer.

Remarks
This list must have the same number of entries as viewports, unless one of the lists is empty.

◆ shaderProgram

GPUShaderProgramPtr CeresEngine::GPUGraphicsPipelineDescriptor::shaderProgram = nullptr

Pointer to the shader program for the graphics pipeline.

By default null.

◆ state

GPUGraphicsPipelineState CeresEngine::GPUGraphicsPipelineDescriptor::state

Specifies the graphics state descriptor.

◆ vertexInput

GPUVertexInputDescriptor CeresEngine::GPUGraphicsPipelineDescriptor::vertexInput

Specifies the vertex assembly state descriptor.

◆ viewports

Vector<Viewport> CeresEngine::GPUGraphicsPipelineDescriptor::viewports

Specifies an optional list of viewports.

If empty, the viewports must be set dynamically with the command buffer.


The documentation for this struct was generated from the following file: