diff options
| author | 2020-02-20 05:51:18 +0100 | |
|---|---|---|
| committer | 2020-02-20 05:51:18 +0100 | |
| commit | 17271eae671a933a862dc85aa5b9956a7da70b28 (patch) | |
| tree | 1a24e3eebb544b0bc8b0ebf2d92f330141f699bf /wgpu/src/shader | |
| parent | 8d63c49ba1aa43407e0dab0a8e69d3f316a79279 (diff) | |
| parent | 6f7247ca13181bcdfe1a3065215c1b3204723b84 (diff) | |
| download | iced-17271eae671a933a862dc85aa5b9956a7da70b28.tar.gz iced-17271eae671a933a862dc85aa5b9956a7da70b28.tar.bz2 iced-17271eae671a933a862dc85aa5b9956a7da70b28.zip  | |
Merge pull request #193 from hecrj/feature/canvas
Canvas widget for 2D graphics
Diffstat (limited to 'wgpu/src/shader')
| -rw-r--r-- | wgpu/src/shader/blit.frag | 12 | ||||
| -rw-r--r-- | wgpu/src/shader/blit.frag.spv | bin | 0 -> 684 bytes | |||
| -rw-r--r-- | wgpu/src/shader/blit.vert | 26 | ||||
| -rw-r--r-- | wgpu/src/shader/blit.vert.spv | bin | 0 -> 1384 bytes | |||
| -rw-r--r-- | wgpu/src/shader/image.vert | 24 | ||||
| -rw-r--r-- | wgpu/src/shader/triangle.vert | 4 | ||||
| -rw-r--r-- | wgpu/src/shader/triangle.vert.spv | bin | 1468 -> 1256 bytes | 
7 files changed, 39 insertions, 27 deletions
diff --git a/wgpu/src/shader/blit.frag b/wgpu/src/shader/blit.frag new file mode 100644 index 00000000..dfed960f --- /dev/null +++ b/wgpu/src/shader/blit.frag @@ -0,0 +1,12 @@ +#version 450 + +layout(location = 0) in vec2 v_Uv; + +layout(set = 0, binding = 0) uniform sampler u_Sampler; +layout(set = 1, binding = 0) uniform texture2D u_Texture; + +layout(location = 0) out vec4 o_Color; + +void main() { +    o_Color = texture(sampler2D(u_Texture, u_Sampler), v_Uv); +} diff --git a/wgpu/src/shader/blit.frag.spv b/wgpu/src/shader/blit.frag.spv Binary files differnew file mode 100644 index 00000000..2c5638b5 --- /dev/null +++ b/wgpu/src/shader/blit.frag.spv diff --git a/wgpu/src/shader/blit.vert b/wgpu/src/shader/blit.vert new file mode 100644 index 00000000..1c081b9e --- /dev/null +++ b/wgpu/src/shader/blit.vert @@ -0,0 +1,26 @@ +#version 450 + +layout(location = 0) out vec2 o_Uv; + +const vec2 positions[6] = vec2[6]( +    vec2(-1.0, -1.0), +    vec2(-1.0, 1.0), +    vec2(1.0, 1.0), +    vec2(-1.0, -1.0), +    vec2(1.0, -1.0), +    vec2(1.0, 1.0) +); + +const vec2 uvs[6] = vec2[6]( +    vec2(0.0, 0.0), +    vec2(0.0, 1.0), +    vec2(1.0, 1.0), +    vec2(0.0, 0.0), +    vec2(1.0, 0.0), +    vec2(1.0, 1.0) +); + +void main() { +    o_Uv = uvs[gl_VertexIndex]; +    gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0); +} diff --git a/wgpu/src/shader/blit.vert.spv b/wgpu/src/shader/blit.vert.spv Binary files differnew file mode 100644 index 00000000..ad697d48 --- /dev/null +++ b/wgpu/src/shader/blit.vert.spv diff --git a/wgpu/src/shader/image.vert b/wgpu/src/shader/image.vert deleted file mode 100644 index 688c2311..00000000 --- a/wgpu/src/shader/image.vert +++ /dev/null @@ -1,24 +0,0 @@ -#version 450 - -layout(location = 0) in vec2 v_Pos; -layout(location = 1) in vec2 i_Pos; -layout(location = 2) in vec2 i_Scale; - -layout (set = 0, binding = 0) uniform Globals { -    mat4 u_Transform; -}; - -layout(location = 0) out vec2 o_Uv; - -void main() { -    o_Uv = v_Pos; - -    mat4 i_Transform = mat4( -        vec4(i_Scale.x, 0.0, 0.0, 0.0), -        vec4(0.0, i_Scale.y, 0.0, 0.0), -        vec4(0.0, 0.0, 1.0, 0.0), -        vec4(i_Pos, 0.0, 1.0) -    ); - -    gl_Position = u_Transform * i_Transform * vec4(v_Pos, 0.0, 1.0); -} diff --git a/wgpu/src/shader/triangle.vert b/wgpu/src/shader/triangle.vert index fd86ecd6..1f2c009b 100644 --- a/wgpu/src/shader/triangle.vert +++ b/wgpu/src/shader/triangle.vert @@ -7,11 +7,9 @@ layout(location = 0) out vec4 o_Color;  layout (set = 0, binding = 0) uniform Globals {      mat4 u_Transform; -    float u_Scale;  };  void main() { -    vec2 p_Position = i_Position * u_Scale; -    gl_Position = u_Transform * vec4(p_Position, 0.0, 1.0); +    gl_Position = u_Transform * vec4(i_Position, 0.0, 1.0);      o_Color = i_Color;  } diff --git a/wgpu/src/shader/triangle.vert.spv b/wgpu/src/shader/triangle.vert.spv Binary files differindex bc39c451..871f4f55 100644 --- a/wgpu/src/shader/triangle.vert.spv +++ b/wgpu/src/shader/triangle.vert.spv  | 
