examples/gkurve: simplify fragment shader, use barycentric coordinates

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-05-14 12:54:53 -07:00 committed by Stephen Gutekanst
parent 8b46f46cf8
commit af608151e9
3 changed files with 40 additions and 136 deletions

View file

@ -6,17 +6,20 @@ struct VertexUniform {
struct VertexOut {
@builtin(position) position_clip : vec4<f32>,
@location(0) frag_uv : vec2<f32>,
@interpolate(flat) @location(1) instance_index: u32,
@location(1) frag_bary: vec3<f32>,
@interpolate(flat) @location(2) instance_index: u32,
}
@stage(vertex) fn main(
@builtin(instance_index) instanceIdx : u32,
@location(0) position: vec4<f32>,
@location(1) uv: vec2<f32>,
@location(2) bary: vec3<f32>,
) -> VertexOut {
var output : VertexOut;
output.position_clip = ubos[instanceIdx].matrix * position;
output.frag_uv = uv;
output.frag_bary = bary;
output.instance_index = instanceIdx;
return output;
}