pub struct WireframeMaterial {
pub color: LinearRgba,
pub line_width: f32,
}Expand description
A material that renders geometry as a wireframe for debugging and editor visualization.
Wireframe materials are essential for debug views, editor gizmos, and understanding the underlying geometry of meshes. This material will integrate with the future EditorGizmo RenderLane (issue #167) and is designed for development and debugging, not production rendering.
§Performance Note
Wireframe rendering typically requires either:
- A geometry shader to generate line primitives
- Barycentric coordinates in the fragment shader
The exact implementation will depend on the graphics backend capabilities. This material is intended for debug/editor contexts where performance is less critical.
§Examples
use khora_core::asset::WireframeMaterial;
use khora_core::math::LinearRgba;
// Create a green wireframe for debug visualization
let debug_wireframe = WireframeMaterial {
color: LinearRgba::new(0.0, 1.0, 0.0, 1.0),
line_width: 1.5,
};
// Create a thin white wireframe for mesh inspection
let mesh_inspector = WireframeMaterial {
color: LinearRgba::new(1.0, 1.0, 1.0, 1.0),
line_width: 1.0,
};Fields§
§color: LinearRgbaThe color of the wireframe lines.
This color is used for all edges of the geometry. Typically bright colors like green, cyan, or white are used for maximum visibility against the scene.
line_width: f32The width of the wireframe lines in pixels.
Note that line width support varies by platform and graphics backend:
- Vulkan: Limited support for line widths other than 1.0
- Metal/DX12: Good support for varying line widths
- WebGPU: Limited to 1.0 pixel lines
For maximum compatibility, use 1.0. The rendering system may clamp this value based on backend capabilities.
Trait Implementations§
Source§impl Clone for WireframeMaterial
impl Clone for WireframeMaterial
Source§fn clone(&self) -> WireframeMaterial
fn clone(&self) -> WireframeMaterial
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more