Professional Documents
Culture Documents
HW 4
HW 4
1 – Graphics Pipeline
(weighted to 50pts)
1. What is the difference between geometry represented using polygon meshes versus the implicit
surfaces we used in the raytracer? (2pts)
An implicit surface is well defined, specific shape. Hard for iterating over the surface, great for
intersections, and inside/outside tests.
Polygons can be made into any shape. More compact, more convenient to control, and easy to construct
The near plane is used to allow us to create the front half of our frustum that is used in clipping.
4. What are the different spatial reference frames that each transform in the pipeline will take us
through and what matrix do we use to get there from the previous space? (4pts)
Local space
Model space
View space
Clip space
The painter’s algorithm is the algorithm that organizes the objects from farthest to nearest, and then
draws them from farthest to nearest so that they are in the correct order.
10. Why doesn’t the painter’s algorithm ensure opaque objects are rendered in the correct order?
(2pts)
The painter’s algorithm isn’t looking at whether the object is opaque or not, it’s simply looking at how
far it is from something. Since it’s only looking at how far it is, it doesn’t know it’s opaque and
causes problems.
11. If depth is only initially computed per vertex, how do we get depth values for every fragment?
(2pts)
We are able to interpolate between the vertices, calculating the depth at every fragment
12. Describe in your own words how a vertex becomes a pixel. In other words, how does the
graphics pipeline enable a seemingly abstract collection of points to be converted into an image
onscreen? Be as thorough as possible (10 pts)
It all begins with data for the vertex. Once the data for the vertex has been provided
then the data is ready to be processed. The vertex data is combined with the vertex shader
program to take the vertex and translate it into clip space where other geometric objects
exist with the world space that is being created. This is done by the output created by the
vertex, the shader is then used as the input for the triangle assembly step within the
graphics pipeline. Once this has been completed for all of the vertexes the pipeline moves
on to rasterization which converts the output from the triangle assembly into pixels.