blob: 4838289ff9e6c1625587a0a10fcb4a74824cb18b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/**
* This fragment shader was initially found at http://fabiensanglard.net/shadowmappingVSM/index.php
*/
varying vec4 v_position;
void main()
{
float depth = v_position.z / v_position.w;
depth = depth * 0.5 + 0.5;
float moment1 = depth;
float moment2 = depth * depth;
// Adjusting moments using partial derivative
float dx = dFdx(depth);
float dy = dFdy(depth);
moment2 += 0.25*(dx*dx+dy*dy);
gl_FragColor = vec4(moment1, moment2, 0.0, 0.0);
}
|