https://www.youtube.com/watch?v=LhQ85bPCAJ8

<aside> πŸ’‘ Objects inside the view frustum will be projected to the Near Plane (3Dβ†’2D projection). Anything outside the frustum will be clipped.

There are 6 clip planes: Near, Far, Top, Bottom, Left, Right

</aside>

Screen Shot 2022-04-25 at 11.46.00 AM.png

Screen Shot 2022-04-25 at 12.33.25 PM.png

<aside> πŸ’‘ * Move the Near Plane forward (+ve z-axis) β†’ Zoom In β†’ Objects become bigger

</aside>

Screen Shot 2022-04-25 at 12.33.59 PM.png

Screen Shot 2022-04-25 at 12.34.35 PM.png

Compute the projection onto the Near Plane

<aside> πŸ’‘ Use similar triangles theorem to find the projected 2D points on Near Plane

</aside>

Screen Shot 2022-04-25 at 12.39.30 PM.png

Screen Shot 2022-04-25 at 12.40.30 PM.png

<aside> πŸ’‘ Problem: we need to divide by z to gain the correct projected points

Solution: store z value to w in gl_Position and pass it into the Rasterizer, which will handle the Perspective Division (dividing z) for us

</aside>

Screen Shot 2022-04-25 at 12.40.45 PM.png

Other Notes: