The texels need to be mapped into world space. All of our geometry are trianglemeshes and every triangle on such a mesh is is mapped to one texel. We first compute the normals for each vertex by averaging over all the adjacent triangle normals. Then we extrude the triangle along it's three computed normals.
So the triangle becomes a threedimensional block that is mapped to the texel. Only four points are necessary to produce a linear mapping between texture space and world space. But we have six points so in order to simplify the mapping we divide the block into three tetrahedrons (specified by four points) and that way we can use a linear transform to map between the to spaces.
Each of these blocks are given back to the system through the refine() function of FurMesh. The intersections are then handled by triangulating each side of the block and then instersect with each triangle in turn.
A fur material class was created to parse the texture description file. The material class is associated with a particular volumetric triangle mesh. Through this class, the user can specify the texel used, the specular/diffuse properties of the texel rendering, and the bsdf properties of the fur base.
A volumetric integrator was created to map the material properties specified by the fur class to the volumetric triangle mesh. We essentially follow Kajiya and Kay's algorithm here, but make some changes in order to fit as well as possible with the lrt model.
Trying to keep the interface with LRT was no easy task, as many of the primitives used did not correspond well with volumetric rendering. For example, the intersection primitives provide little flexibility when attempting to intersect volumes.
Here are some texels mapped onto a curved triangle mesh. We rendered a
version in which the base was opaque to see what it would look like
as actual fur on an animal. We rendered another version with a transparent
base, allowing us to see the volumetric texturing exclusively.
Here is the same curve when viewed from above. Kinda looks like
animal fur... We really liked the furry meteor looking object on
the right.
We built a bear model in Maya and exported a traingle mesh in .rib
format. We used two different texel description files to specify
different texels for use in the grass and fur. The images are
lighted by a directional light source. Click to see larger images.
Skilling, Adrian. "Rendering Fur with Texels." (http://dspace.dial.pipex.com/adrian.skilling/texels/texels.html)