# Lecture 002

I mentioned today an excellent book on the primitive "graphics" techniques used by Renaissance (and older) artists to produce very realistic paintings. Here it is, highly recommended: Here

Rasterization: process triangles in parallel (smaller memory)

Ray Tracing: allow recursion, but computation intensive

For ray-plane, ray-triangle intersection, see 15-462.

## Mesh

Triangle List or Face Set (STL)

• Face: 3 vertex positions

• 4 Bytes/coordinate (using 32-bit floats)

• 36 Bytes/face

• many wasted space due to duplication

Indexed Face Set (OBJ, OFF, WRL)

• Vertex: position

• Face: vertex indices

• 12 Bytes/vertex

• 12 Bytes/face

Besides mesh geometry, we often store other information: color, sharpness, continuity and discontinuities.

Vertex Data: surface normal, texture coordinates, positions

Piecewise planar approximation converges pretty quickly $O(h^2)$ to the smooth geometry as the number of triangles increase, but surface normal converges with $O(h)$. So we need interpolate face normal.

Ray Tracing Cost: $n_{xy} \times n_o$ where $n_{xy}$ is the number of pixels and $n_o$ is the number of triangles.

• Spatial sorting/subdivision (e.g. grid, kd-tree, ochre): Decompose space into disjoint regions & assign objects to regions

• Object sorting/subdivision (bounding volume hierarchy): Decompose objects into disjoint sets & bound using simple volumes for fast rejection

Table of Content