examples/gkurve: calculate barycentric vertex coordinates in shader

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-05-14 16:26:39 -07:00 committed by Stephen Gutekanst
parent dae283734f
commit e35b86ad25
2 changed files with 10 additions and 8 deletions

View file

@ -12,14 +12,18 @@ struct VertexOut {
@stage(vertex) fn main(
@builtin(instance_index) instanceIdx: u32,
@builtin(vertex_index) vertex_index: u32,
@location(0) position: vec4<f32>,
@location(1) uv: vec2<f32>,
@location(2) bary: vec3<f32>,
) -> VertexOut {
var output: VertexOut;
var output : VertexOut;
output.position_clip = ubos[instanceIdx].matrix * position;
output.frag_uv = uv;
output.frag_bary = bary;
output.frag_bary = vec3<f32>(
f32(vertex_index % 3u == 1u),
f32(vertex_index % 3u == 2u),
f32(vertex_index % 3u == 0u),
);
output.instance_index = instanceIdx;
return output;
}