Lecture 001

Perspective Projection

Perspective Projection

Perspective Projection

Assume camera has unit size, then:

Practice Rendering Algorithm

Practice Rendering Algorithm

Draw an image: assume camera at C = (a, b, c):

  1. for each vertex V = (x, y, z) calculate V' = V - C
  2. let V' = (x', y', z'), then (u, v) = (\frac{x}{z}, \frac{y}{z})

Practice Rendering Algorithm Result

Practice Rendering Algorithm Result

Rasterization

Rasterization Accuracy

Naive Rasterization Rule: turn on a pixel if the line pass through the pixel

Naive Rasterization Rule: turn on a pixel if the line pass through the pixel

Diamond Rule: turn on a pixel if it is in the center of the pixel

Diamond Rule: turn on a pixel if it is in the center of the pixel

Thickness Rule: turn on a pixel if the line (with a specified width) occupies some percentage of a pixel

Rasterization Performance

Naive Rasterization: to cover n pixel, if we check the condition for every pixel we probably need n^2 times.

Incremental Line Rasterization

Incremental Line Rasterization

Incremental Line Rasterization: given endpoints (u_1, v_1), (u_2, v_2)

''' v = v1; for (u = u1; u <= u2; u++) { v += s; draw(u, round(v)) } '''

Table of Content