跳到主要内容
← Advanced Rendering

Advanced Rendering

TAA - Velocity Based Reprojection

Post effect

代码复盘 GLSL

第 17 课:TAA - Velocity Based Reprojection

实现:Post effect

本课需 多 pass / 后处理,暂以代码复盘呈现。

实现

uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform mat4 prevViewMatrix;
uniform float iTime;
uniform vec2 iResolution;

in vec3 position;
in vec3 normal;
in vec4 color;

out vec4 vColor;
out vec3 vNormal;
out vec3 vPosWorld;
out vec4 vPosScreen;
out vec4 vPosScreenPrev;

void main() {
  vColor = color;
  vNormal = normalize(mat3(transpose(inverse(modelMatrix))) * normal);

  vec4 worldPos = modelMatrix * vec4(position, 1.0);
  vPosScreen = projectionMatrix * viewMatrix * worldPos;
  vPosScreenPrev = projectionMatrix * prevViewMatrix * worldPos;

  vPosWorld = worldPos.xyz;

  gl_Position = vPosScreen;
}

复盘笔记

  • Post effect
  • properties