aboutsummaryrefslogtreecommitdiff
path: root/src/render_helpers/shaders/texture.vert
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-04-13 11:07:23 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-04-13 11:07:23 +0400
commit71be19b234d58f4ec447e921633506beb81a52c0 (patch)
treea6b69d57a3e2edc9d8dac4c969548f227cbf341a /src/render_helpers/shaders/texture.vert
parent4fd9300bdb07e90c26df28461f9bd6591c3d1d41 (diff)
downloadniri-71be19b234d58f4ec447e921633506beb81a52c0.tar.gz
niri-71be19b234d58f4ec447e921633506beb81a52c0.tar.bz2
niri-71be19b234d58f4ec447e921633506beb81a52c0.zip
Implement window resize animations
Diffstat (limited to 'src/render_helpers/shaders/texture.vert')
-rw-r--r--src/render_helpers/shaders/texture.vert25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/render_helpers/shaders/texture.vert b/src/render_helpers/shaders/texture.vert
new file mode 100644
index 00000000..a59870b8
--- /dev/null
+++ b/src/render_helpers/shaders/texture.vert
@@ -0,0 +1,25 @@
+#version 100
+
+uniform mat3 matrix;
+uniform mat3 tex_matrix;
+
+attribute vec2 vert;
+attribute vec4 vert_position;
+
+varying vec2 v_coords;
+
+mat2 scale(vec2 scale_vec){
+ return mat2(
+ scale_vec.x, 0.0,
+ 0.0, scale_vec.y
+ );
+}
+
+void main() {
+ vec2 vert_transform_translation = vert_position.xy;
+ vec2 vert_transform_scale = vert_position.zw;
+ vec3 position = vec3(vert * scale(vert_transform_scale) + vert_transform_translation, 1.0);
+ v_coords = (tex_matrix * position).xy;
+ gl_Position = vec4(matrix * position, 1.0);
+}
+