Skip to content

ludus::content::scene_format::MaterialRecordV5

Ludus Wiki · API overview · Browse API

Struct

Version 5 material: version 3 terms plus alpha coverage. A masked surface discards fragments whose base texture alpha (straight, unaffected by sRGB decoding) is below AlphaCutoff; an untextured masked surface is fully covered. Coverage applies to both rasterized views and transport rays alike.

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

#include <ludus/content/scene_format/luscn.h>
struct ludus::content::scene_format::MaterialRecordV5 final

Fields

Texture

uint32 ludus::content::scene_format::MaterialRecordV5::Texture
Texture index or NO_TEXTURE.

Related types: uint32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

AddressMode

uint32 ludus::content::scene_format::MaterialRecordV5::AddressMode
ADDRESS_CLAMP or ADDRESS_REPEAT.

Related types: uint32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

Metallic

float32 ludus::content::scene_format::MaterialRecordV5::Metallic
[0, 1].

Related types: float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

Roughness

float32 ludus::content::scene_format::MaterialRecordV5::Roughness
[MIN_ROUGHNESS, 1].

Related types: float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

Emission

float32 ludus::content::scene_format::MaterialRecordV5::Emission[RGB_CHANNELS][RGB_CHANNELS]
Nonnegative linear Rec.709 RGB, at most MAX_EMISSION.

Related types: float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

EmissionFlags

uint32 ludus::content::scene_format::MaterialRecordV5::EmissionFlags
EMISSION_TWO_SIDED and/or EMISSION_HAS_POWER.

Related types: uint32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

AreaSourceId

uint64 ludus::content::scene_format::MaterialRecordV5::AreaSourceId
Nonzero for emissive surfaces; zero for nonemitters.

Related types: uint64

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

EmissionPower

float32 ludus::content::scene_format::MaterialRecordV5::EmissionPower
Lumens after authoring scale; zero without HAS_POWER.

Related types: float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

AlphaMode

uint32 ludus::content::scene_format::MaterialRecordV5::AlphaMode
ALPHA_OPAQUE or ALPHA_MASKED.

Related types: uint32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

AlphaCutoff

float32 ludus::content::scene_format::MaterialRecordV5::AlphaCutoff
Masked threshold in [0, 1]; zero for ALPHA_OPAQUE.

Related types: float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h

Reserved

uint32 ludus::content::scene_format::MaterialRecordV5::Reserved
Must be zero.

Related types: uint32

Declared in modules/content/scene_format/include/ludus/content/scene_format/luscn.h