
# Objective - Make the wireframe colors configurable at the global level and the single mesh level - Based on https://github.com/bevyengine/bevy/pull/5314 This video shows what happens when playing with various settings from the example https://github.com/bevyengine/bevy/assets/8348954/1ee9aee0-fab7-4da8-bc5d-8d0562bb34e6 ## Solution - Add a `color` field to the `WireframeMaterial` - Use a `WireframeColor` component to configure the color per entity - Add a `default_color` field to `WireframeConfig` for global wireframes or wireframes with no specified color. ## Notes - Most of the docs and the general idea for `WireframeColor` came from [UberLambda](https://github.com/UberLambda) in #3677 but the code ended up completely different so I created a separate branch. ~~I'm not sure how to correctly credit them on this PR.~~ (I re-created the commit but I added them as co-author in the commit message) ~~Closes https://github.com/bevyengine/bevy/pull/3677~~ ~~Closes https://github.com/bevyengine/bevy/pull/5301~~ ~~https://github.com/bevyengine/bevy/pull/5314 should be merged before this PR.~~
11 lines
271 B
WebGPU Shading Language
11 lines
271 B
WebGPU Shading Language
#import bevy_pbr::mesh_vertex_output MeshVertexOutput
|
|
struct WireframeMaterial {
|
|
color: vec4<f32>,
|
|
};
|
|
|
|
@group(1) @binding(0)
|
|
var<uniform> material: WireframeMaterial;
|
|
@fragment
|
|
fn fragment(in: MeshVertexOutput) -> @location(0) vec4<f32> {
|
|
return material.color;
|
|
} |