Struct Material

Nested Relationships

Nested Types

Struct Documentation

struct Material

Representation of a material resource.

Public Types

enum class RenderMode : uint8_t

Rendering mode for an object.

Values:

enumerator Opaque

Fully opaque geometry.

enumerator Cutout

Geometry with only full opacity or full transparency.

enumerator Transparent

Geometry with full or partial transparency.

using Storage = std::variant<int, unsigned int, float, bool, TexRef, libjaguar::Vector<float, 2>, libjaguar::Vector<float, 3>, libjaguar::Vector<float, 4>, libjaguar::Vector<int, 2>, libjaguar::Vector<int, 3>, libjaguar::Vector<int, 4>, libjaguar::Vector<unsigned int, 2>, libjaguar::Vector<unsigned int, 3>, libjaguar::Vector<unsigned int, 4>, libjaguar::Matrix<float, 2, 2>, libjaguar::Matrix<float, 3, 3>, libjaguar::Matrix<float, 4, 4>>

Public Members

std::string shaderAddress

Resource address of the base shader.

std::vector<Param> parameters

Data to apply to the shader.

RenderMode renderMode

Transparency mode for rendering.

struct Param

Parameter name and data wrapper.

Public Members

std::string target

The shader parameter that receives the stored data.

Storage storage

The data storage for the parameter value.

struct TexRef

A special object to refer to textures in material data storage.

Public Members

std::string address

The resource address of the target texture.

bool isCubemap

If the address refers to a cubemap or not.