Project

General

Profile

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

library / src / main / res / raw / blit_depth_fragment_shader.glsl @ 35a0f4ed

1 7170e4eb leszek
//////////////////////////////////////////////////////////////////////////////////////////////
2 535a45bc Leszek Koltunski
// Copyright 2018 Leszek Koltunski                                                          //
3 7170e4eb leszek
//                                                                                          //
4 535a45bc Leszek Koltunski
// This file is part of Distorted.                                                          //
5 7170e4eb leszek
//                                                                                          //
6 535a45bc Leszek Koltunski
// Distorted is free software: you can redistribute it and/or modify                        //
7 7170e4eb leszek
// 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 535a45bc Leszek Koltunski
// Distorted is distributed in the hope that it will be useful,                             //
12 7170e4eb leszek
// 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 535a45bc Leszek Koltunski
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                       //
18 7170e4eb leszek
//////////////////////////////////////////////////////////////////////////////////////////////
19
20 040cd18c Leszek Koltunski
precision highp float;
21 7170e4eb leszek
22
out vec4 fragColor;           // The output color
23
in vec2 v_TexCoordinate;      // Interpolated texture coordinate per fragment.
24
25
uniform sampler2D u_Texture;
26
uniform sampler2D u_DepthTexture;
27
28
//////////////////////////////////////////////////////////////////////////////////////////////
29 35a0f4ed Leszek Koltunski
// why -0.0003 ? On some drivers (for example Qualcomm's V@331, V@415 on Adreno 308 - also on
30 5ec42229 Leszek Koltunski
// some Mali devices ) without it the depth test - when postprocessing a flat 2D object - does
31
// not pass (for unknown reasons) and we don't see the Glow halo.  See for example the 'Glowing
32
// Leaf' test app.
33 35a0f4ed Leszek Koltunski
// Why exactly 0.0003? Testing of the Cube app on the SM-A315F. ( Mali G52, drivr r20p0 )
34
// 0.0003 shouldn't hurt anyway.
35 7170e4eb leszek
36
void main()                    		
37
  {
38 35a0f4ed Leszek Koltunski
  gl_FragDepth = texture(u_DepthTexture,v_TexCoordinate).r -0.0003;
39 040cd18c Leszek Koltunski
  fragColor    = texture(u_Texture     ,v_TexCoordinate);
40 7170e4eb leszek
  }