Project

General

Profile

Download (2.73 KB) Statistics
| Branch: | Revision:

library / src / main / res / raw / blit_depth_vertex_shader.glsl @ 47511918

1
//////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2016 Leszek Koltunski                                                          //
3
//                                                                                          //
4
// This file is part of Distorted.                                                          //
5
//                                                                                          //
6
// Distorted is free software: you can redistribute it and/or modify                        //
7
// it under the terms of the GNU General Public License as published by                     //
8
// the Free Software Foundation, either version 2 of the License, or                        //
9
// (at your option) any later version.                                                      //
10
//                                                                                          //
11
// Distorted is distributed in the hope that it will be useful,                             //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                           //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                            //
14
// GNU General Public License for more details.                                             //
15
//                                                                                          //
16
// You should have received a copy of the GNU General Public License                        // 
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                       //
18
//////////////////////////////////////////////////////////////////////////////////////////////
19

    
20
precision highp float;
21
precision highp int;
22

    
23
#if __VERSION__ != 100
24
in vec2 a_Position;           // Per-vertex position.
25
out vec2 v_TexCoordinate;     //
26
out vec2 v_Pixel;             //
27
#else
28
attribute vec2 a_Position;    // Per-vertex position.
29
varying vec2 v_TexCoordinate; //
30
varying vec2 v_Pixel;         //
31
#endif
32

    
33
uniform float u_Depth;        // distance from the near plane to render plane, in clip coords
34
uniform vec2  u_TexCorr;      // when we blit from postprocessing buffers, the buffers can be
35
                              // larger than necessary (there is just one static set being
36
                              // reused!) so we need to compensate here by adjusting the texture
37
                              // coords.
38

    
39
uniform ivec2 u_Size;         // size of the output surface, in pixels.
40

    
41
//////////////////////////////////////////////////////////////////////////////////////////////
42

    
43
void main()
44
  {
45
  v_TexCoordinate = (a_Position + 0.5) * u_TexCorr;
46
  v_Pixel         = v_TexCoordinate * vec2(u_Size);
47
  gl_Position     = vec4(2.0*a_Position,u_Depth,1.0);
48
  }
(3-3/9)