| 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 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

[prev] | Image of the Day Gallery www.flipcode.com | [next]

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.