Skip to content

ludus::graphics::renderer::SceneShaderMaterial

Ludus Wiki · API overview · Browse API

Struct

Borrowed fixed-mip RGB reflection material. Scene graph Update copies all values and texture bytes before returning. Maps are RGBA8 unorm or sRGB color/emission; surface data is unorm RG normal, B roughness and A metallic. Omitted maps are white. Typed conductor evaluation uses constant Scattering alpha/Eta/K instead of the base colour and roughness/metallic multipliers; surface normals still apply. Layered coatings use the base colour for their diffuse substrate and keep the constant Scattering alpha/IOR/thickness; normal mapping still applies.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

#include <ludus/graphics/renderer/scene_shader.hpp>
struct ludus::graphics::renderer::SceneShaderMaterial final

Fields

BaseColor

foundation::math::Vector3 ludus::graphics::renderer::SceneShaderMaterial::BaseColor {0.5F, 0.5F, 0.5F}
Linear reflectance in [0,1].

Related types: foundation::math::Vector3

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

Metallic

foundation::float32 ludus::graphics::renderer::SceneShaderMaterial::Metallic = 0
Metallic fraction in [0,1], or the conductor weight for DiffuseConductorMix.

Related types: foundation::float32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

Roughness

foundation::float32 ludus::graphics::renderer::SceneShaderMaterial::Roughness = 1
Perceptual roughness in [0.045,1].

Related types: foundation::float32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

Emission

foundation::math::Vector3 ludus::graphics::renderer::SceneShaderMaterial::Emission {}
Linear RGB emission in [0,10000].

Related types: foundation::math::Vector3

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

IsEmissionTwoSided

bool ludus::graphics::renderer::SceneShaderMaterial::IsEmissionTwoSided = false
Geometric emission sidedness, independent of reflection.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

UvTransform

foundation::math::Vector4 ludus::graphics::renderer::SceneShaderMaterial::UvTransform {1, 1, 0, 0}
UV scale XY and offset ZW.

Related types: foundation::math::Vector4

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

NormalScale

foundation::float32 ludus::graphics::renderer::SceneShaderMaterial::NormalScale = 1
Tangent normal XY strength in [0,8].

Related types: foundation::float32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

Sampler

rhi::SamplerDescription ludus::graphics::renderer::SceneShaderMaterial::Sampler {}
Fixed-mip filter/address policy.

Related types: rhi::SamplerDescription

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

ColorTexture

rhi::TextureCpuContent ludus::graphics::renderer::SceneShaderMaterial::ColorTexture {}
Optional retained source mip, copied synchronously.

Related types: rhi::TextureCpuContent

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

SurfaceTexture

rhi::TextureCpuContent ludus::graphics::renderer::SceneShaderMaterial::SurfaceTexture {}
Optional linear data mip, copied synchronously.

Related types: rhi::TextureCpuContent

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

EmissionTexture

rhi::TextureCpuContent ludus::graphics::renderer::SceneShaderMaterial::EmissionTexture {}
Optional linear/sRGB emission multiplier.

Related types: rhi::TextureCpuContent

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

HasError

bool ludus::graphics::renderer::SceneShaderMaterial::HasError = false
Import diagnostic: error material in preview; reject strict admission.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

Scattering

content::scene_format::MaterialScattering ludus::graphics::renderer::SceneShaderMaterial::Scattering {}
Typed optical parameters; default preserves the legacy metallic/roughness model.

Related types: content::scene_format::MaterialScattering

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

IsAlphaMasked

bool ludus::graphics::renderer::SceneShaderMaterial::IsAlphaMasked = false
Test base-texture and vertex coverage against AlphaCutoff. Supported by the ray scene, raster color/G-buffer and shadow passes; the clustered opaque Z prepass rejects material tables containing masks before publication.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp

AlphaCutoff

foundation::float32 ludus::graphics::renderer::SceneShaderMaterial::AlphaCutoff = 0.5F
Inclusive coverage threshold in [0,1], used only for masks.

Related types: foundation::float32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/scene_shader.hpp