Skip to main content

Crate scenix_material

Crate scenix_material 

Source
Expand description

GPU-free material descriptions for scenix.

This crate defines renderer-agnostic materials and compact pipeline keys. It intentionally has no wgpu dependency; GPU upload and bind-group logic live in the renderer milestone.

Re-exports§

pub use depth::DepthMaterial;
pub use lambert::LambertMaterial;
pub use line::LineMaterial;
pub use normal::NormalMaterial;
pub use pbr::PbrMaterial;
pub use physical::PhysicalMaterial;
pub use points::PointsMaterial;
pub use shader::ShaderMaterial;
pub use toon::ToonMaterial;
pub use unlit::UnlitMaterial;
pub use wireframe::WireframeMaterial;

Modules§

depth
lambert
line
normal
pbr
physical
points
shader
toon
unlit
wireframe

Structs§

PipelineKey
Compact renderer pipeline selector.

Enums§

AlphaMode
Material alpha behavior.
PipelineAlphaMode
Pipeline-level alpha mode. This is hashable because the cutoff value is not part of render-pipeline selection.
ShaderKind
Built-in shader family used by a material.

Constants§

FEATURE_ALBEDO_TEXTURE
Base color texture is bound.
FEATURE_CLEARCOAT
Clearcoat lobe is active.
FEATURE_CUSTOM_TEXTURES
Custom shader has texture bindings.
FEATURE_DASHED
Dashed line path is active.
FEATURE_DOUBLE_SIDED
Material is rendered double-sided.
FEATURE_EMISSIVE_TEXTURE
Emissive texture is bound.
FEATURE_FLAT_SHADING
Flat normal shading is active.
FEATURE_GRADIENT_TEXTURE
Gradient/ramp texture is bound.
FEATURE_IRIDESCENCE
Iridescence path is active.
FEATURE_METALLIC_ROUGHNESS_TEXTURE
Metallic-roughness texture is bound.
FEATURE_NORMAL_TEXTURE
Normal map is bound.
FEATURE_OCCLUSION_TEXTURE
Occlusion texture is bound.
FEATURE_OUTLINE
Toon outline path is active.
FEATURE_SHEEN
Sheen lobe is active.
FEATURE_SIZE_ATTENUATION
Point size attenuation is active.
FEATURE_TRANSMISSION
Transmission path is active.
FEATURE_VERTEX_COLORS
Material expects vertex colors.
FEATURE_WIREFRAME
Wireframe rendering path is active.
FEATURE_WORLD_SPACE
Normals are evaluated in world space.

Traits§

Material
CPU-side material description with no GPU dependency.