- uniform sampler2D Texture0;
- varying vec4 vVertex;
- const vec2 bitShift2 = vec2(256.0, 1.0);
- const vec2 bitMask2 = vec2(0.0, 1.0/256.0);
- void main() {
- float depth = vVertex.z / vVertex.w;
- depth = depth * 0.5 + 0.5;
- vec2 depthPack = fract(depth * bitShift2);
- depthPack -= depthPack.xxy*bitMask2;
- float dx = dFdx(depth);
- float dy = dFdy(depth);
- float moment2 = depth*depth;
- moment2 += 0.25*(dx*dx+dy*dy);
- vec2 momentPack = fract(moment2 * bitShift2);
- momentPack -= momentPack.xxy*bitMask2;
- gl_FragColor = vec4(depthPack, momentPack);
- }