
Submitted by , posted on 15 May 2003


Image Description, by
These are two images I created with a small raytracer I wrote for school.
It can raytrace bezier curves directly, allowing it to render hairlike
objects. The beziercurve 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 zaxis. 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 ReactionDiffusion"
(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

