|
|
Thorsten Froehlich <tho### [at] trfde> wrote:
: The solution is to change the POV-Ray source code to limit max_trace_level.
Why limit the max_trace_level because of *ONE* platform? Why all other
platforms have to suffer because it crashes in one?
In Unix I can use virtually any max_trace_level and it will not crash.
If I need to use a max_trace_level of 10000, I can use it; it will work just
perfectly. This is because unix programs do not have a limited stack.
I don't understand why is it so difficult to just tell the compiler to
make a bigger stack.
When I was making my triangle mesh smoother program, I had a stack problem
as well. As I had a recursive call, it crashed when the recursion was too
deep. I learned that the compiler generated by default a 8 kilobytes stack
to the program, which is laughably small. What I did was just to tell the
compiler to generate a 1 megabyte stack instead (of course in DOS; as said
earlier, this is not a problem in Unix).
: Crashing is obviously not an option and a limit is the way to fix it.
A rather harsh way of "fixing" a bug.
--
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}// - Warp -
Post a reply to this message
|
|