DRW: Make fullscreen vertex shader position and uv without attributes
authorClément Foucault <foucault.clem@gmail.com>
Thu, 16 May 2019 12:16:23 +0000 (14:16 +0200)
committerClément Foucault <foucault.clem@gmail.com>
Fri, 17 May 2019 11:38:42 +0000 (13:38 +0200)
source/blender/draw/modes/shaders/common_fullscreen_vert.glsl

index a1e6bb0..8a7fb97 100644 (file)
@@ -1,10 +1,11 @@
 
-in vec2 pos;
-in vec2 uvs;
 out vec4 uvcoordsvar;
 
 void main()
 {
-  uvcoordsvar = vec4(uvs, 0.0, 0.0);
-  gl_Position = vec4(pos, 1.0, 1.0);
+  int v = gl_VertexID % 3;
+  float x = -1.0 + float((v & 1) << 2);
+  float y = -1.0 + float((v & 2) << 1);
+  gl_Position = vec4(x, y, 1.0, 1.0);
+  uvcoordsvar = vec4((gl_Position.xy + 1.0) * 0.5, 0.0, 0.0);
 }