POV-Ray : Newsgroups : povray.general : Internal Nesting Limit : Re: Internal Nesting Limit Server Time
6 Oct 2024 11:12:28 EDT (-0400)
  Re: Internal Nesting Limit  
From: Alain
Date: 5 Apr 2014 22:35:52
Message: <5340bd88@news.povray.org>

> Alain <kua### [at] videotronca> wrote:
>
>>> I don't know if this will help, but have you tried upping the
>>> 'max_intersections' value in your global_settings{} block?
>>
>> I don't think that it'll work in this case.
>> If the value is to low, you get an "I-Stack Overflows" message in the
>> statistics after the scene is rendered.
>> It's normaly a non-fatal error, and may be more similar to a
>> max_gradiant error. The scene renders, but not correctly.
>>
>
> Yes, you are correct. I thought increasing it *might* make a difference--
> somehow-- but I tried it in the code example here, and the error still occurs in
> v3.7. But I also see that 3.7 issues a parse warning: max_intersections is no
> longer used(!) That information is missing from the new documentation.
>
> I've been playing around with the code example-- using 3.7 and also 3.62-- and
> I've noticed a BIG difference in the rendered appearance of the scene. It seems
> that there's something 'not right' about global_settings' max_trace_level in
> 3.7; something has changed since 3.62.
>
> In 3.62, setting max_trace_level to 5 results in *many* of the 900 overlapping
> spheres turning black-- as expected. But in 3.7, even with max_trace_level set
> to only 2(!), ALL the spheres render normally (that is, when r1=1 and r2=5 and
> the render doesn't fail.) Plus, the render statistics show that the 'max level'
> reached is only 1 of 2! (Setting the value to 1 instead of 2 results in ALL
> black spheres.) It *seems* that max_trace_level is now completely ON or OFF,
> with no in-between values; but that's just a guess. Perhaps this has something
> to do with the bigger problem.
>
> I'm still experimenting with the code example, to see what else I can
> discover...
>
>
>
>

There was a big change with the handling of the trace_level in the early 
betas of version 3.7.
When a ray pass through a surface that don't cause a ray to change 
direction and don't cause any secondary ray to be shot, that surface NO 
LONGER COUNT toward the max_trace_level limit.

That mean that any surface that have no reflection for any object that 
don't have an interior block, will not be counted toward max_trace_level.

Now, a ray can pass through 1000+ surfaces...

max_trace_level is STILL important if you have any reflection at all. 
Even reflection{0.00001} will count.
Also, if you have interior{ior 1.000001}, any ior <> 1, or an interior 
defining some media of fading colour, the surfaces of that object WILL 
count toward max_trace_level.





Alain


Post a reply to this message

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