POV-Ray : Newsgroups : povray.general : transparent objects appear opaque Server Time
31 Jul 2024 10:24:39 EDT (-0400)
  transparent objects appear opaque (Message 11 to 13 of 13)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Alain
Subject: Re: transparent objects appear opaque
Date: 18 Aug 2007 22:18:28
Message: <46c7a874$1@news.povray.org>
Zeger Knaepen nous apporta ses lumieres en ce 2007/08/18 19:23:
> "Warp" <war### [at] tagpovrayorg> wrote in message news:46c6d0fd@news.povray.org...
>> Christian Froeschlin <chr### [at] chrfrde> wrote:
>>>> Every time a ray is reflected or refracted
>>> or when just passing through a transparent surface as in your case.
>>  That's, technically speaking, refraction. The refraction just doesn't
>> modify the direction of the ray.
>>
>>  (One cool developement idea for povray would be, I think, that if a
>> surface has transparency, no reflection and no ior, iow. rays just pass
>> through unmodified (just taking the color of the surface), povray could
>> skip incrementing the recursion counter. That way you could have and
>> indefinite amount of transparent surfaces even if max_trace_level is
>> small.)
> 
> although probably a bit more complicated, couldn't this idea be expanded to 
> objects that do have reflections and/or an ior?
> I might be mistaken, but I believe the only way to get in an infinite loop, is 
> if the ray hits the same object more than once.
> So: if a ray is reflected or refracted, the recursion counter doesn't increment 
> until the same object gets hit again.
> 
> there are probably some cases I'm overseeing...
> 
> cu!
You can have extremely long paths, even infinite ones, between several objects. 
This is very probable with reflections, think of a mirror-hall kind of setting. 
In that case, you need to have less than perfect reflections and probably 
increase the adc_bailout value, or be plagued with chains many 1000's of 
reflections long!
Thank Warp for the reminder of that possibility :-)

-- 
Alain
-------------------------------------------------
WARNING: The consumption of alcohol may create the illusion that you are 
tougher, smarter, faster and better looking than most people.


Post a reply to this message

From: Zeger Knaepen
Subject: Re: transparent objects appear opaque
Date: 19 Aug 2007 07:17:33
Message: <46c826cd$1@news.povray.org>
"Alain" <ele### [at] netscapenet> wrote in message 
news:46c7a874$1@news.povray.org...
> You can have extremely long paths, even infinite ones, between several 
> objects.

extremely long paths, I agree, but I don't think they could be infinite without 
hitting the same object more than once.  Not with a finite number of objects 
anyway.

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

From: Tim Attwood
Subject: Re: transparent objects appear opaque
Date: 19 Aug 2007 17:50:36
Message: <46c8bb2c$1@news.povray.org>
>>>>  (One cool developement idea for povray would be, I think, that if a
>>>> surface has transparency, no reflection and no ior, iow. rays just pass
>>>> through unmodified (just taking the color of the surface), povray could
>>>> skip incrementing the recursion counter. That way you could have and
>>>> indefinite amount of transparent surfaces even if max_trace_level is
>>>> small.)
>>
>> My thought would be that after a ray hits the max trace depth it should
>> ignore transmit, filter and reflection for that hit, and return a pigment
>> color instead of just returning black. In many cases where there is
>> multiple semi-transparent, or partially colored reflections, this "guess"
>> would result in a pixel that (after being shaded by the first hits) would
>> be somewhat correct. In other cases you'd get multi-color speckling,
>> but that is just similar to the black speckling we have now.
> That's whey you have adc_bailout. It can be used to limit the depth when 
> the last surface contribution fals under the threshold.

I think you misunderstand, I mean when a ray hits max_trace_level it
could return just the color from that hit, then follow the normal
tinting of the previous hits. Instead it returns black.

ADC_bailout just is an early exit of a pixel that already is colored
mostly correct. The default bailout is 1/256 or about 0.4%. What I'd like
to see from a ray that hits max_trace_level is a color guess instead of
just black. If it ends up within 5 - 10% then it might look passable.

Raising ADC_bailout would make more pixels inaccurate. Some pixels
would return after fewer hits.


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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