Texture mapping onto a sphere. (sphere_texture.gr)

Texture mapping onto a box. (box_texture.gr)

Texture mapping onto a cylinder. (cyliner_texture.gr)

Texture mapping onto a cone. (cone_texture.gr)

Transparency mapping. (transp.gr)

Bump mapping.

Reflection. (refl.gr)

Constructive solid geometry involving a sphere:
UNION, INTERSECTION, DIFFERENCE (sphere_csg.gr)

Constructive solid geometry involving a cylinder:
UNION, INTERSECTION, DIFFERENCE (cylinder_csg.gr)

Constructive solid geometry involving a cone:
UNION, INTERSECTION, DIFFERENCE (cone_csg.gr)

Constructive Solid Geometry (csg.gr)

A test scene rendered with two point light sources. (balls1.gr)

The same test scene rendered with two area light sources. (balls2.gr)

A sphere with an index of refraction of 1.5. (glass_sphere.gr)

A sphere with an index of refraction of 1.3. (water_sphere.gr)

A convex lens. (convex.gr)

A concave lens. (concave1.gr)

A lens which is concave on the incoming side and convex on the outgoing side; the lens of the overhead projector which I modelled. (proj_lens.gr)

Photons which have been mapped onto a square polygon. (photon1.gr)

A photon map which has been interpolated to remove dark pixels. (photon2.gr)

A demonstration of the gr_special_refractor TCL command. (photon3.gr)

A cone shaped light within the projector casts photons onto a mirror, shown here in red. The mirror reflects these photons upward. (proj1.gr)

A refracting surface just below the projector's surface, shown in red, focuses photons onto the lens. Simulating this surface required specialized refraction logic, accessed via an
additional TCL command: gr_special_refractor.

The completed projector. The lens and mirror are shown floating in space since creating a supporting structure that doesn't interfere with the optics of the projector turns out to be
an exercise in its own right. (proj3.gr)

An image projected onto a one million pixel texture map using four million photons. Notice the graininess, which is the result of dark pixels; not all pixels in the texture map are
struck by photons. (az1.gr)

A secondary algorithm is used to clean up the texture map. (az2.gr)

A demonstration of subtractive color using three colored discs. (tri.gr)

A special guest appearance by Steven Mann! (mann1.gr)