30.08.2014 Views

Past Midterm and Exam Questions (PDF) - Student.cs.uwaterloo.ca ...

Past Midterm and Exam Questions (PDF) - Student.cs.uwaterloo.ca ...

Past Midterm and Exam Questions (PDF) - Student.cs.uwaterloo.ca ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CS488/688 Introduction to Computer Graphi<strong>cs</strong> 29<br />

where I(a, b) is the final itensity of the pixel, <strong>and</strong> a <strong>and</strong> b represent distances along the ray to the<br />

nearest <strong>and</strong> farthest voxels of the volume, respectively. Assuming we collect samples of the volume<br />

along the ray from i = 1 near the viewer to i = n, giving a voxel intensity I i <strong>and</strong> opacity α i at each<br />

sample:<br />

a) Write an equation approximating the integral I in terms of the samples I i <strong>and</strong> α i , for i =<br />

1, . . . , n.<br />

b) Assuming sample i = 1 is nearest the viewer, why is summing the equation from “back to<br />

front” (from i = n to i = 1) fast to evaluate?<br />

c) Why could summing the equation from “front to back” (from i = 1 to i = n) allow an even<br />

faster approximation of I than in part (b)?<br />

d) Given a light source L, if we want to compute an illumination equation for each I i , what<br />

vector should we use as a normal in the equations? Precomputing this vector for all voxels<br />

<strong>ca</strong>n save rendering time; however, what is the main disadvantage of precomputing this vector?<br />

e) If we don’t precompute the normal vector described in (e) above, in a simple, unoptimized<br />

implementation of volume rendering, how many evaluations of the illumination equation typi<strong>ca</strong>lly<br />

contribute to each sample I i on the ray<br />

– for Gouraud-style lighting?<br />

– for Phong-style lighting?<br />

f) If I i is computed by interpolating the voxel intensities in the volume, nearest neighbour <strong>and</strong><br />

trilinear interpolation are two possible methods. Give an advantage for each method.<br />

g) For rendering purpoess, storing a volume as a large 3D array makes inefficient use of <strong>ca</strong>che<br />

memory. Suggest a better storage method <strong>and</strong> briefly describe why it is more efficient.<br />

13.6 Bounding Boxes [Last Used: Fall 2000 <strong>Midterm</strong>]<br />

Bounding boxes are one method of increasing the speed of a ray tracer. Typi<strong>ca</strong>lly, the bounding<br />

boxes are aligned with the coordinate axes.<br />

1. Discuss the benefits/costs of axis aligned bounding boxes vs bounding boxes that are not axis<br />

aligned.<br />

2. Discuss the benefits/costs of using bounding spheres instead of bounding boxes.<br />

14 Perspective<br />

14.1 Perspective Matrix [Last Used: ?]<br />

(a) Give the equations for the clipped 3-D coordinates (x1 ′ , y1 ′ , z1 ′ ) <strong>and</strong> (x2 ′ , y2 ′ , z2 ′ ) in terms<br />

of the unclipped 3-D homogeneous coordinates (x1, y1, z1, 1) <strong>and</strong> (x2, y2, z2, 1) plus the two<br />

clipping parameters α1 <strong>and</strong> α2 that are computed by the clipper. You may assume that<br />

α1 < α2.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!