The Geometry Behind Normal Maps
10 days ago
- #computer-graphics
- #normal-mapping
- #tangent-space
- Tangent space is a local coordinate system at each point on a surface, defined by the tangent plane and normal vector.
- It connects the flat world of texture coordinates (UVs) to the curved world of 3D surfaces, making techniques like normal mapping possible.
- Tangent space is constructed using two perpendicular tangent vectors (tangent and bitangent) derived from UV parameterization, along with the normal vector.
- UV maps not only define texture placement but also how movement in 2D texture space translates to movement on the 3D surface, influencing tangent space orientation.
- Normal mapping stores surface orientation details in textures, using tangent space to translate these into 3D directions for realistic lighting effects.
- The tangent frame must be orthonormal (perpendicular and unit length) for stable lighting, achieved via the Gram-Schmidt process.
- Tangent space is essential for various rendering techniques beyond normal mapping, including anisotropy, triplanar projection, and displacement mapping.