POV-Ray : Newsgroups : povray.general : Physically accurate wax simulation : Re: Physically accurate wax simulation Server Time
31 Jul 2024 06:18:22 EDT (-0400)
  Re: Physically accurate wax simulation  
From: Alain
Date: 1 Sep 2007 20:16:26
Message: <46da00da@news.povray.org>
Charles nous apporta ses lumieres en ce 2007/09/01 19:39:
> Hello everyone,
> 
> For a research project, I need to make a physically accurate simulation of
> candlewax. I have taken a photo of what it looks like when I embed a small
> black bead in a cube of wax and shine a light on it:
> 
> http://www.turingbirds.com/personal/random/wax.png
> 
> However, in POVRay, I cannot get the wax material to interact with the
> sphere:
> 
> http://www.turingbirds.com/personal/random/nogoodrender.png
> http://www.turingbirds.com/personal/random/wax.pov
> 
> Am I forgetting something, or is POVRay incapable of rendering this (without
> hacks, e.g. blur)?
> 
> Thanks in advance,
> Charles
> 
> 
You are on the right track. You need your media MUCH dencer!
Your media as it is now:

  media
       {
           scattering { 2, 0.5 extinction 0.9}

       }

Wax works as a very dense scattering media, a color of 0.5 is just to small.
Wax does bend light going trough it: if have an index of refraction: ior.
I think that solid wax have an ior slightly higher than water, while molten wax 
is slightly lower than water.
Try:
interior{
	scattering{2, 5 }
	ior 1.4
	}

You may need to push the color even higher.
The surface of the wax not perfectly smooth, it's covered by tyni irregularities.
Another thing that you may try, is to use blured transparence:
Add an averaged normal statement to your cube:
#declare Scale = 0.001;// use a large (>100) or a small (<0.01) value
#declare R = seed(1);// any value will do
#declare Samples = 10;// use a larger value only if absolutely needed, as you 
cross 2 surfaces, each ray will split in 10 two times!

normal{average{normal_map{
    #while(Samples)
	[1 normal bumps translate<rand(R),rand(R),rand(R)>*Scale scale Scale]
// you use a broad pattern with large displacemen
//OR tyni pattern with small displacement.
	#declare Samples = Samples - 1;
    #end
    }
Be carefull, as this will greatly slow down the rendering speed: each ray will 
be split in 10 before it enter the media,

As your scene is set now, you probably don't need the radiosity. Remove the 
radiosity block.

By default, lights interact with the media: media_interaction on not usefull.
You use media_interaction off when you don't want a light to interact with medias.

The only include file that you realy use is color.inc.
You can remove all the other include without causing any change.

-- 
Alain
-------------------------------------------------
The tree of liberty must be refreshed from time to time with the blood of
patriots and tyrants.
Thomas Jefferson


Post a reply to this message

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