blob: 9c11827721280dbce14b0c22d2f110c105b3c0d8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
uniform mat4 currPersinv;
uniform mat4 pastPersmat;
out vec2 outData;
void main()
{
/* Extract pixel motion vector from camera movement. */
ivec2 texel = ivec2(gl_FragCoord.xy);
vec2 uv = gl_FragCoord.xy / vec2(textureSize(depthBuffer, 0).xy);
float depth = texelFetch(depthBuffer, texel, 0).r;
vec3 world_position = project_point(currPersinv, vec3(uv, depth) * 2.0 - 1.0);
vec2 uv_history = project_point(pastPersmat, world_position).xy * 0.5 + 0.5;
outData = uv - uv_history;
}
|