diff options
author | 2022-12-02 18:53:21 +0100 | |
---|---|---|
committer | 2022-12-02 18:53:21 +0100 | |
commit | 4029a1cdaaac1abbdcc141b20469a49670cd99b6 (patch) | |
tree | 71fa9d9c4aa1f02ce05771db43a4bb7bc6570e77 /wgpu/src/shader/solid.wgsl | |
parent | 676d8efe03ebdbeeb95aef96b8097395b788b1ab (diff) | |
parent | 8b55e9b9e6ba0b83038dd491dd34d95b4f9a381b (diff) | |
download | iced-4029a1cdaaac1abbdcc141b20469a49670cd99b6.tar.gz iced-4029a1cdaaac1abbdcc141b20469a49670cd99b6.tar.bz2 iced-4029a1cdaaac1abbdcc141b20469a49670cd99b6.zip |
Merge branch 'master' into non-uniform-border-radius-for-quads
Diffstat (limited to 'wgpu/src/shader/solid.wgsl')
-rw-r--r-- | wgpu/src/shader/solid.wgsl | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/wgpu/src/shader/solid.wgsl b/wgpu/src/shader/solid.wgsl index 68a8fea3..b24402f8 100644 --- a/wgpu/src/shader/solid.wgsl +++ b/wgpu/src/shader/solid.wgsl @@ -1,17 +1,30 @@ -struct Uniforms { +struct Globals { transform: mat4x4<f32>, - color: vec4<f32> } -@group(0) @binding(0) -var<uniform> uniforms: Uniforms; +@group(0) @binding(0) var<uniform> globals: Globals; + +struct VertexInput { + @location(0) position: vec2<f32>, + @location(1) color: vec4<f32>, +} + +struct VertexOutput { + @builtin(position) position: vec4<f32>, + @location(0) color: vec4<f32>, +} @vertex -fn vs_main(@location(0) input: vec2<f32>) -> @builtin(position) vec4<f32> { - return uniforms.transform * vec4<f32>(input.xy, 0.0, 1.0); +fn vs_main(input: VertexInput) -> VertexOutput { + var out: VertexOutput; + + out.color = input.color; + out.position = globals.transform * vec4<f32>(input.position, 0.0, 1.0); + + return out; } @fragment -fn fs_main() -> @location(0) vec4<f32> { - return uniforms.color; +fn fs_main(input: VertexOutput) -> @location(0) vec4<f32> { + return input.color; } |