POV-Ray : Newsgroups : povray.programming : projects, fur, and PoV Server Time
28 Jun 2024 01:59:21 EDT (-0400)
  projects, fur, and PoV (Message 1 to 4 of 4)  
From: Daniel Hulme
Subject: projects, fur, and PoV
Date: 21 Jul 2004 13:32:45
Message: <20040721183245.149d002d@dh286.pem.cam.ac.uk>
For the third year of my computer science degree, I have to do a large,
individual project on a subject of my choice. For my project, I am
planning to write a sizeable extension to PoV for drawing parametric
fur. This project is due to start in October, but I am trying to stay
ahed of the game by doing some research now. I have already looked into
existing fur-rendering methods, and have found the following papers
useful:

A New Method for Modelling of Hair-Grass Type Textures - Bidasaria '95
Real-Time Fur over Arbitrary Surfaces - Lengyel et al. '01
Hypertexture - Perlin & Hoffert '89
Rendering Fur With Three-Dimensional Textures - Kajiya & Kay '89

My initial idea for describing the fur in the source file would be to
have a "hyper" block inside either "texture" or "material". This would
contain parameters for length (which could be a scalar field, I mean
pattern, or just a constant), stiffness, force (as a vector field or
just constant e.g. gravity), thickness, density etc. To make the fur
general I think it would be good to have the colour as a texture map
evaluated in u,v space, which returns a texture map evaluated along the
length of the fur (or vice-versa: a 1D texture map which interpolates
between two different u,v texture maps). This would allow not just the
usual animal patterns, but fur which has been bleached at the ends or is
greying. Making the params texture maps rather than just colours would
allow for stuff like polar bear fur (which is not white, but appears so
as it is hollow and transparent thus showing the colour of polar bear
skin), or metallic fur.

From the implementation end, I am thinking probably a standard
ray-marching type thing, perhaps an adaptation of the media code. It
would also be quite nice if you could have multiple furs attached to one
object, so you could do the short/dense, long/sparse guard hair thing
that animals do (see Lengyel).

Problems/challenges I foresee so far:
-making it play nice if radiosity is turned on
-some kind of LOD system
-aliasing
-getting a decent (i.e. fast) projection function that takes stiffness,
force, and position and returns (u,v,w) co-ordinates or "no hair here"
-some specialised ray-marching stuff so we only ever sample where there
is a hair
-occlusion. You can generally get away without self-shadowing (so I
hear) but Lengyel, IIRC, demonstrated how bad fur looks if you don't do
occlusion well
-fiddling with bounding boxes so silhouettes work
-most importantly, speed. I only have 'til next May to get this
submitted, and I think I will need to render at least one picture to go
in the dissertation. Also, it would be nice if I could give a reference
scene rendered in several systems (PoVray with geometric fur, PoV with
hyperfur, Maya, 3DS w/ some plugin, etc.) and the time it took on each,
and have mine competitive in terms of both time and quality

Can anyone recommend any other useful papers?
Does anyone have any thoughts on syntax?
Can anyone give me an idea on implementation?
Does anyone want to tell me it's a really bad idea and I should do
something easier? (Don't bother, people I hold in greater respect than
you have already told me and I didn't believe *them* either.)

Daniel

-- 
Misinformation followed us like a plague      You can beat us with wires
Nobody knew from time to time                You can beat us with chains
If the plans had changed         You can run out your rules but you know
   .: www.doublezero.uklinux.net :.   You can't outrun the history train


Post a reply to this message

From: ABX
Subject: Re: projects, fur, and PoV
Date: 22 Jul 2004 09:03:44
Message: <3vdvf05lr0ju980h50ue7h6fp5c7dehq68@4ax.com>
On Wed, 21 Jul 2004 18:32:45 +0100, Daniel Hulme
<pov### [at] doublezerouklinuxnet> wrote:
> Hypertexture - Perlin & Hoffert '89
> Rendering Fur With Three-Dimensional Textures - Kajiya & Kay '89

Thomas Willhalm made an addition to POV-Ray some years ago where above two
materials were mixed. AFAIK this will be available in next MegaPOV which
eventually can be released before end of the period you have for your project.
It's also available in the form of addition to some outdated sources 
http://mitglied.lycos.de/willhalm/tracegallery/bear.jpg
http://mitglied.lycos.de/willhalm/tracegallery/bear.zip

ABX


Post a reply to this message

From: Daniel Hulme
Subject: Re: projects, fur, and PoV
Date: 17 Aug 2004 03:50:45
Message: <20040817085045.711b1dfe@dh286.pem.cam.ac.uk>
> Thomas Willhalm made an addition to POV-Ray some years ago where above
> two materials were mixed. AFAIK this will be available in next MegaPOV
> which eventually can be released before end of the period you have for
> your project. It's also available in the form of addition to some
> outdated sources

That's very interesting, but having looked at the sample picture and the
documentation describing the feature, I think I can do better than that.
I was intending to write my patch so as to be compatible with this one
(i.e. the same scene file can be made to use the other one just by
changing a single parameter) but looking at the syntax this patch uses
we seem to have completely different ideas about how it should work.

My project will go forward as planned; I may decide to run off a few
simple pictures using this patch for comparative purposes in the
'evaluation' stage, but I will not even be looking at the code.

Daniel

-- 
A most peculiar man    With the windows closed      And Mrs Reardon says
He died last Saturday  So he'd never wake up  He has a brother somewhere
He turned on the gas   To his silent world   Who should be notified soon
And he went to sleep   And his tiny room    .oO( http://sad.istic.org/ )


Post a reply to this message

From: wisk
Subject: Re: projects, fur, and PoV
Date: 16 Sep 2004 22:15:00
Message: <web.414a4897f8f4f98b35ed26ac0@news.povray.org>
First of all, a fur plugin for 3ds max can be found at
http://www.ibmr.net/Ornatrix/ it is in beta, so you might be able to snag a
look at the source. In terms of the hyperfur, I think that volumetric
rendering would be the best in terms of integration, since it uses Ray
tracing (or casting) in its simple forms.

I'd love to see more about this, and will follow it closly.
Imran


Post a reply to this message

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