Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/gpu/metal/kernels/depth_2d_update_vert.glsl')
-rw-r--r--source/blender/gpu/metal/kernels/depth_2d_update_vert.glsl33
1 files changed, 33 insertions, 0 deletions
diff --git a/source/blender/gpu/metal/kernels/depth_2d_update_vert.glsl b/source/blender/gpu/metal/kernels/depth_2d_update_vert.glsl
new file mode 100644
index 00000000000..092ae45b719
--- /dev/null
+++ b/source/blender/gpu/metal/kernels/depth_2d_update_vert.glsl
@@ -0,0 +1,33 @@
+
+uniform vec2 extent;
+uniform vec2 offset;
+uniform vec2 size;
+out vec2 texCoord_interp;
+in vec2 pos;
+
+void main()
+{
+ vec4 rect = vec4(offset.x, offset.y, offset.x + extent.x, offset.y + extent.y);
+ rect /= vec4(size, size);
+ vec4 tex = rect;
+ rect = rect * 2.0 - 1.0;
+
+ /* QUAD */
+ if (pos.x == 0.0 && pos.y == 0.0) {
+ rect.xy = rect.xy;
+ texCoord_interp = tex.xy;
+ }
+ else if (pos.x == 0.0 && pos.y == 1.0) {
+ rect.xy = rect.xw;
+ texCoord_interp = tex.xw;
+ }
+ else if (pos.x == 1.0 && pos.y == 1.0) {
+ rect.xy = rect.zw;
+ texCoord_interp = tex.zw;
+ }
+ else {
+ rect.xy = rect.zy;
+ texCoord_interp = tex.zy;
+ }
+ gl_Position = vec4(rect.xy, 0.0f, 1.0f);
+} \ No newline at end of file