|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hello,
I was just wondering - why max_trace_level has been limited in pov 3.5 to
256 ? Some older scenes, especialy using lens flares [1] macros need AFAIR
mex_trace_level of 500 ... 3000
--
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Rafal 'Raf256' Maj <raf### [at] raf256com> wrote:
> I was just wondering - why max_trace_level has been limited in pov 3.5 to
> 256 ?
It was decided that limiting the max_trace_level is better than getting
a buffer overflow crash (which simply can't be helped).
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <3d60487b@news.povray.org> , Warp <war### [at] tagpovrayorg> wrote:
> buffer overflow crash
You know the correct term Warp. Please correct yourself ;-)
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <Xns### [at] 204213191226>, "Rafal 'Raf256' Maj"
<raf### [at] raf256com> wrote:
> Some older scenes, especialy using lens flares [1] macros need AFAIR
> mex_trace_level of 500 ... 3000
No, you not only not needed it, but you could not have used it either. If
you had needed such a max_trace_level there would have been a hard crash of
POV-Ray long before you had reached it.
Thorsten
____________________________________________________
Thorsten Froehlich
e-mail: mac### [at] povrayorg
I am a member of the POV-Ray Team.
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thorsten Froehlich wrote:
> In article <Xns### [at] 204213191226>, "Rafal 'Raf256'
> Maj" <raf### [at] raf256com> wrote:
>
>> Some older scenes, especialy using lens flares [1] macros need AFAIR
>> mex_trace_level of 500 ... 3000
>
> No, you not only not needed it, but you could not have used it either. If
> you had needed such a max_trace_level there would have been a hard crash
> of POV-Ray long before you had reached it.
That's not true. I had scenes with max_trace_level 1000 which also reached
this level. And I just did a test with two facing mirrors: max_trace_level
5000 was reached.. I do not think the linux version of POV-Ray ever had a
crash because of that. So I see no point in limiting max_trace_level in all
POV-Ray version just beacuse some crappy OS can't handle it.
- Micha
--
http://objects.povworld.org - the POV-Ray Objects Collection
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Thorsten Froehlich" <tho### [at] trfde> wrote in
news:3d60959d@news.povray.org
>> Some older scenes, especialy using lens flares [1] macros need AFAIR
>> mex_trace_level of 500 ... 3000
> No, you not only not needed it, but you could not have used it either.
> If you had needed such a max_trace_level there would have been a hard
> crash of POV-Ray long before you had reached it.
are You shure ?
I ques that You are talking about i.e. glas - where each ray needs to next
rays (reflected and refracted) and that in 256 levels leads to 2^256 rays
with shurely will crash pov.
but imagine
1. solid mirror (no filter)
2. only filter (like lans flare)
and Im 100% shure that levels >256 are needed - some scenes with flares
rendered incorecctly at level < 500 (they contained black spots), and
author alsow informed in documentation that max_trace_level >1000 is needed
--
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <3d60a321@news.povray.org> , Micha Riser <mri### [at] gmxnet> wrote:
> That's not true. I had scenes with max_trace_level 1000 which also reached
> this level. And I just did a test with two facing mirrors: max_trace_level
> 5000 was reached..
Of course it depends on the scene to some extend. Yes, you can create
really simple scenes that will not crash, but that does not mean that adding
a few semitransparent objects with reflection and refraction won't get you
there.
POV-Ray cannot know in advance which objects you will have in what order in
your scene, so it cannot tell if the scene may work or may not. It would
have to know the scene before it has read it to gather such information,
which would still be complex to do even if this could be avoided by placing
max_trace_level at the end of the scene.
Fact is that there have been numerous crash reports with all official
versions because of stack overflows caused by too high max_trace_level. And
there had to be some default limit, which happens to be 256. BTW, by far
most scenes do not have such a number of perfectly reflecting objects in
their scene to even reach a max_trace_level of 256 before reaching
adc_bailout.
> I do not think the linux version of POV-Ray ever had a
> crash because of that. So I see no point in limiting max_trace_level in all
> POV-Ray version just beacuse some crappy OS can't handle it.
Nobody said you cannot change it, or did I miss something? If you think
your program configuration (it has absolutely nothing to do with the OS btw)
will handle it, just define MAX_TRACE_LEVEL_LIMIT to something bigger in
config.h and compile POV-Ray yourself. No big deal.
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi,
"Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote in
news:Xns### [at] 204213191226...
> "Thorsten Froehlich" <tho### [at] trfde> wrote in
> news:3d60959d@news.povray.org
>
> >> Some older scenes, especialy using lens flares [1] macros need AFAIR
> >> mex_trace_level of 500 ... 3000
> > No, you not only not needed it, but you could not have used it either.
> > If you had needed such a max_trace_level there would have been a hard
> > crash of POV-Ray long before you had reached it.
>
> are You shure ?
>
> I ques that You are talking about i.e. glas - where each ray needs to next
> rays (reflected and refracted) and that in 256 levels leads to 2^256 rays
> with shurely will crash pov.
>
> but imagine
> 1. solid mirror (no filter)
> 2. only filter (like lans flare)
>
> and Im 100% shure that levels >256 are needed - some scenes with flares
> rendered incorecctly at level < 500 (they contained black spots), and
> author alsow informed in documentation that max_trace_level >1000 is needed
just for comparison:
many commercial 3D-Apps limit their Raytracing Recursionlevel to something
between 10 and 20, at most perhaps 100, so the current limit of 256 is already
exceptional compared with other Applications.
Greetings,
Thies
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Thies Heidecke" <h3i### [at] gmxnet> wrote in news:3d60b643@news.povray.org
> just for comparison:
> many commercial 3D-Apps limit their Raytracing Recursionlevel to
> something between 10 and 20, at most perhaps 100, so the current limit
> of 256 is already exceptional compared with other Applications.
I always was shure that POV is the best :)
--
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thorsten Froehlich <tho### [at] trfde> wrote:
>> buffer overflow crash
> You know the correct term Warp. Please correct yourself ;-)
Stack overflow.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|