mirror of
https://github.com/lubosz/overte.git
synced 2025-04-24 06:53:59 +02:00
Started on ambient occlusion shader.
This commit is contained in:
parent
ab249d6c78
commit
b294b33ac7
1 changed files with 34 additions and 0 deletions
34
interface/resources/shaders/ambient_occlusion.frag
Normal file
34
interface/resources/shaders/ambient_occlusion.frag
Normal file
|
@ -0,0 +1,34 @@
|
|||
#version 120
|
||||
|
||||
//
|
||||
// ambient_occlusion.frag
|
||||
// fragment shader
|
||||
//
|
||||
// Created by Andrzej Kapolka on 7/5/13.
|
||||
// Copyright (c) 2013 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
// the depth texture
|
||||
uniform sampler2D depth;
|
||||
|
||||
// the distance to the near clip plane
|
||||
uniform float near;
|
||||
|
||||
// the distance to the far clip plane
|
||||
uniform float far;
|
||||
|
||||
// the left and bottom edges of the view window
|
||||
uniform vec2 leftBottom;
|
||||
|
||||
// the right and top edges of the view window
|
||||
uniform vec2 rightTop;
|
||||
|
||||
// given a texture coordinate, returns the 3D view space coordinate
|
||||
vec3 texCoordToViewSpace(vec2 texCoord) {
|
||||
float z = (far * near) / (texture2D(depth, texCoord).r * (far - near) - far);
|
||||
return vec3(((texCoord * 2.0 - vec2(1.0, 1.0)) * (rightTop - leftBottom) + rightTop + leftBottom) * z / (-2.0 * near), z);
|
||||
}
|
||||
|
||||
void main(void) {
|
||||
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
}
|
Loading…
Reference in a new issue