LLGL 0.05 Beta
Loading...
Searching...
No Matches
LLGL::VertexShaderAttributes Struct Reference

Vertex (or geometry or tessellation-evaluation) shader specific structure. More...

#include <ShaderFlags.h>

Public Attributes

std::vector< VertexAttribute > inputAttribs
 Vertex shader input attributes.
std::vector< VertexAttribute > outputAttribs
 Vertex (or geometry or tessellation-evaluation) shader stream-output attributes.

Detailed Description

Vertex (or geometry or tessellation-evaluation) shader specific structure.

See also
ShaderDescriptor::vertex
ShaderReflection::vertex
Todo
Merge this into one structure ShaderAttributes with fields vertexAttribs, streamOutputAttribs, fragmentAttribs, and workGroupSize.

Member Data Documentation

◆ inputAttribs

std::vector<VertexAttribute> LLGL::VertexShaderAttributes::inputAttribs

Vertex shader input attributes.

Remarks
All of these attributes must be contained in the vertexAttribs list of the vertex buffer that will be used in conjunction with the respective shader. In other words, a shader must not declare any vertex attributes that are not contained in the currently bound vertex buffer.
See also
BufferDescriptor::vertexAttribs

◆ outputAttribs

std::vector<VertexAttribute> LLGL::VertexShaderAttributes::outputAttribs

Vertex (or geometry or tessellation-evaluation) shader stream-output attributes.

Remarks
Some rendering APIs need the output stream attributes for the vertex shader and other APIs need them for the geometry shader. To keep the code logic simple, it is valid to declare the output attributes for both the vertex and geometry shader (or even all that will be used in the same shader program). Output attributes are ignored where they cannot be used.
Stream-output attributes can only have 32-bit floating-point formats, i.e. only the following formats are supported:
See also
RenderingFeatures::hasStreamOutputs
CommandBuffer::BeginStreamOutput

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