Struct Shader

Nested Relationships

Nested Types

Struct Documentation

struct Shader

Representation of a shader resource.

Public Members

std::vector<unsigned char> irCode

Compiled Slang IR.

struct libcacaoasset::Shader::Descriptor descriptor

Shader information descriptor.

struct Descriptor

Public Types

enum class Domain : uint8_t

The dimensional domain that the shader expects for input.

Values:

enumerator Geometry3D

3D world geometry

enumerator Canvas2D

2D canvas

enum class VertexMode : uint8_t

Vertex processing mode for a shader.

Values:

enumerator NoProcess

No shader-controlled vertex processing.

enumerator PreprocessOnly

Shader-controlled vertex processing before engine transform.

enumerator PostprocessOnly

Shader controlled vertex processing after engine transform.

enumerator PreprocessPostprocess

Shader-controlled vertex processing before and after engine transform.

enumerator Custom

Shader implements fully-custom vertex pipeline.

Public Members

enum libcacaoasset::Shader::Descriptor::Domain domain

Type of this shader.

enum libcacaoasset::Shader::Descriptor::VertexMode mode

Vertex processing mode.

std::vector<UniformParameter> uniformParams

Uniform parameters list.

std::vector<TextureParameter> texParams

Texture parameters list.

struct TextureParameter

Information about a texture parameter.

Public Members

std::string name

Parameter name.

unsigned int binding

Descriptor binding index.

bool isCubemap

If the texture is a Cubemap or a Tex2D.

struct UniformParameter

Info about a uniform parameter.

Public Types

enum class DataType : uint8_t

Values:

enumerator Int

32-bit signed integer

enumerator UInt

32-bit unsigned integer

enumerator Float

Single-precision floating point number (32-bit)

enumerator Bool

Boolean.

enumerator Int2

2-component int vector

enumerator Int3

3-component int vector

enumerator Int4

4-component int vector

enumerator UInt2

2-component unsigned int vector

enumerator UInt3

3-component unsigned int vector

enumerator UInt4

4-component unsigned int vector

enumerator Float2

2-component float vector

enumerator Float3

3-component float vector

enumerator Float4

4-component float vector

enumerator Float2x2

2x2 matrix of floats

enumerator Float3x3

3x3 matrix of floats

enumerator Float4x4

4x4 matrix of floats

Public Members

enum libcacaoasset::Shader::Descriptor::UniformParameter::DataType type

Type of stored data.

std::string name

Parameter name.

unsigned int bufferOffset

Offset into the parameters constant buffer at which to write the data.