Normal transformations

Whenever vertices are transformed, normal vectors should also be transformed, so they point in the right direction. We could think of using the Model-View matrix that transforms vertices to do this, but there is a problem: The Model-View matrix will not always keep the perpendicularity of normals.

Normal transformations

This problem occurs if there is a unidirectional (one axis) scaling transformation or a shearing transformation in the Model-View matrix. In our example, we have a triangle that has undergone a scaling transformation on the y-axis. As you can see, the normal N' is not normal anymore after this kind of transformation. How do we solve ...

Get WebGL Beginner's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.