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§
Structs§
- Pipeline
Key - Compact renderer pipeline selector.
Enums§
- Alpha
Mode - Material alpha behavior.
- Pipeline
Alpha Mode - Pipeline-level alpha mode. This is hashable because the cutoff value is not part of render-pipeline selection.
- Shader
Kind - 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.