These are two images I created with a small raytracer I wrote for school.
It can raytrace bezier curves directly, allowing it to render hair-like
objects. The bezier-curve intersection method used is from "Ray Tracing
for Curve Primitives" (http://wscg.zcu.cz/wscg2002/Papers_2002/A83.pdf).
It transforms the curve into the coordinate system of the ray, where the
ray direction is the z-axis. The curve is then subdivided in the XY plane
and if it is sufficiently close to <0,0> it intersects the ray. The
lighting model used is described in "Rendering fur with three dimensional
textures" (http://www.hi.is/~arnij/pdf/fur_textures.pdf). The hair was
distributed on the brown guy (which is a triangle mesh) using the method
in "Generating Textures on Arbitrary Surfaces Using Reaction-Diffusion"
(http://www.cc.gatech.edu/~turk/my_papers/reaction_diffusion.pdf). It uses
point repulsion to distribute points uniformly over a triangle mesh. There
are some tricks in there to approximate the geodesic distance between two
points. I also created a small program to create the shape, distance,
color and such for each hair.
More pictures, source code, documentation and examples can be found at
http://www.hi.is/~arnij/ (site in icelandic).
Arni Mar Jonsson