Lecture: The Pipeline
Dear students:
The three biggest ideas of this course are geometry, lighting, and texturing. We are nearing the end of the geometry stage. At this point, we know how to describe geometry in terms of its vertices, group the vertices together into geometric primitives, and transform it. The chapter you just read was about the pipeline that this geometry passes through before it appears on the screen. It is born in model space. It's arranged into a common world space. The viewer is made the origin in eye space. And then it's squeezed into the unit box known as normalized space. The fragments must then pass through a series of tests and operations. They must be visible in the viewport. They must have a depth smaller than the previous depth. They might get blended together with a previously rendered fragment. And then the whole pipeline begins again when the next frame gets drawn, perhaps by the continuous game loop.
Noodle
In our first coding exercise, I will show a vertical tube with an undulating surface. Let's call it a noodle. We want to rework the render so that it looks like we are inside a corrugated culvert or tunnel. We'll need to think about how to move from model space to world space, from world space to eye space, and from eye space to clip space.
Rupee
In our second coding exercise, we'll quickly model a Hyrulian rupee in Blender using the mirror modifier. Then we'll render three spinning rupees in perspective. Each instance will get its own world-from-model matrix. Once they're in the world's coordinate system, they can all be transformed by a single eye-from-world matrix.
TODO
Here's your list of things to do before we meet next:
See you next time.
Sincerely,
P.S. It's time for a haiku!