Part IA Michaelmas Term
Perspective-Correct Interpolation
The Problem
Linear interpolation in screen space is only correct for parallel (orthographic) projection.
Under perspective projection, 3D properties are projected non-linearly onto 2D screen. Simply interpolating in screen space causes attributes like texture coordinates to distort.
The Solution
Interpolate quantities that are linear in screen space:
- Perspective-divided attribute
- Reciprocal depth
The Formula
For pixel with barycentric coordinates and depths :
-
Interpolate :
-
Interpolate :
-
Reconstruct:
Why This Works
After perspective projection, varies linearly in screen space. Dividing attributes by before interpolation, then dividing by after, gives correct results.
Summary
- Screen-space linear interpolation is wrong for perspective
- Interpolate and in screen space
- Divide the results to recover perspective-correct
Past Paper Questions
2022 Paper 3 Question 4: How does perspective-correct interpolation differ from linear interpolation on the screen? Why is it needed for texture mapping?