Professional Documents
Culture Documents
Precept 8
Precept 8
Precept 8
Rasterizer
June Ho Park
Agenda
● Overview of Rasterizer
● Rasterization Pipeline
○ Transformation Pipeline
○ Triangle Pipeline
○ Pixel Shading (Coloring)
○ Texture Mapping
What is Rasterization?
● Renders 3D
primitives to a 2D
image using
projection
Rasterization vs Ray Tracing
● Pros:
○ Less computationally expensive
■ “Shoot rays from screen to objects” vs “Project objects to screen”
○ Takes advantage of spatial coherence of 3D objects
■ “Since this pixel is determined by a point on this triangle, then
the neighboring pixels are likely determined by the same tri.”
● Con: Less realistic light behavior than ray tracing
● Therefore, useful for live rendering
○ Video games, Assignment 2(!)
Rasterization Pipeline
Draw pixels
Transformation Pipeline
In A4:
All meshes are made of
triangular faces
● Camera Coordinates
○ A truncated pyramid frustum
view, bounded by [l, r] in x,
[b, t] in y, and [-n, -f] in z
○ Positive z axis is going
towards camera
View Volumes
projMat =
● Flat
○ Color of pixel is determined by face normal and centroid
■ Calculate color once per triangle
● Gouraud
○ Color of pixel is an interpolation of the colors at the vertices
■ Calculate color x3 per triangle
● Phong
○ Color of pixel determined by its normal found by interpolation
■ Calculate color once per pixel
Texture Mapping
● Normal Mapping
○ Adds additional detail to texture map
○ Stores normal vector information in an image I
○ The image uses same UV coordinates
○ For a vertex with UV coordinate (u,v)
■ Get RGB at I(u,v)
■ Compute normal XYZ = normalize(2*RGB - 1)
○ Use this new normal when calculating color with Phong Reflection
Model
Q&A