POV-Ray : Newsgroups : povray.news-submissions : MayaFur 1.5 : MayaFur 1.5 Server Time
18 Apr 2024 23:00:49 EDT (-0400)
  MayaFur 1.5  
From: Doug Eichenberg
Date: 5 Oct 2003 14:41:49
Message: <3f8065ed$1@news.povray.org>
IN SHORT, this version cuts the number of triangles used by 50 percent,
allowing for more hairs, fatser renders, and less memory consumption.  Full
details are listed below:

Fixed a bug in the way the upper point array was calculated for the first
segment. It was not taking into account the delta height value, so triangles
were overlapping on the first segment. (SINGLEHAIR)

Added in a new variable for SingleHair() called faces_per_segment. This
allows the user some freedom in reducing the amount of triangles used per
hair object. Previously I was using 6 faces per segment (meaning the hair
was shaped like a hexagon). You can now use 3, 4, 5, or 6 faces, which can
significantly reduce the size of the mesh file, the memory consumed, and the
rendering time. (SINGLEHAIR)

Modified the way surface normals are calculated. Previously, when a segment
always consisted of six faces, the normal was determined by the vector
between opposite points in the point array. This won't work if there are 3
or 5 faces, so the normals are now determined by the vector between the
outer point and the center point. This method works for any number of faces.
(SINGLEHAIR)

Fixed a bug in the tip curl routine that was causing tip curl to account for
more of the overall length of the hair than it should have. (SINGLEHAIR)

Improved the fur coverage by implementing a recursive triangle subdivision
routine. The hair is still placed with the fur_object_mesh() macro, and your
code will not have to be altered in any way, but the fur coverage will be
more uniform. The algorithm I used takes each triangle in the object mesh
and, if necessary, subdivides it into smaller and smaller triangles, placing
a hair at the center of each sub-triangle, until the hairs_per_unit variable
is reached. Not only does this eliminate bald patches, but it avoids placing
redundant hairs on relatively small triangles, reducing the amount of memory
consumed. It also makes it unnecessary to import your object mesh into a
modeller or other piece of software to increase the triangle count, which
would make the resulting file larger. (FUR_OBJECT_MESH)

Improved the HairTex() macro to include all of the basic finish properties,
making it possible to vary the color, ambient, diffuse, specular, roughness,
phong, phong_size, and reflection along the length of the hair using
triangle texture interpolation. (HAIRTEX)


--
Doug Eichenberg
www.getinfo.net/douge
dou### [at] nlsnet


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.