Project

General

Profile

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

library / src / main / res / raw / oit_vertex_shader.glsl @ 9a3607b3

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
in vec2 a_Position;           // Per-vertex position.
24
out vec2 v_TexCoordinate;     //
25
out vec2 v_Pixel;             // 2D pixel coords in window space
26

    
27
uniform float u_Depth;        // distance from the near plane to render plane, in clip coords
28
uniform vec2  u_TexCorr;      // when we blit from postprocessing buffers, the buffers can be
29
                              // larger than necessary (there is just one static set being
30
                              // reused!) so we need to compensate here by adjusting the texture
31
                              // coords.
32

    
33
uniform uvec2 u_Size;         // size of the output surface, in pixels.
34

    
35
//////////////////////////////////////////////////////////////////////////////////////////////
36

    
37
void main()
38
  {
39
  v_TexCoordinate = (a_Position + 0.5) * u_TexCorr;
40
  v_Pixel         = (a_Position + 0.5) * vec2(u_Size);
41
  gl_Position     = vec4(2.0*a_Position,u_Depth,1.0);
42
  }
(13-13/14)