Welcome to Fractal Forums

Fractal Software => Mandelbulb 3d => Topic started by: DarkBeam on July 27, 2011, 12:33:36 PM




Title: technical request
Post by: DarkBeam on July 27, 2011, 12:33:36 PM
Jesse, when I open a function I see something like that
.Double paramname1=0
.Integer pn2=3

those are stored in edi+something in read only mode :D

I am sayin, what if we make a new field type, read write, not displayed in screen that stores additional data? example

!Double dimension1=0

allocates in edi+something read write space for an additional variable double, initially zero.

this would make possible more formulas :D pleaseeee


Title: Re: technical request
Post by: DarkBeam on July 27, 2011, 03:26:03 PM
Another solution, a [VARIABLES] section, similar to [CONSTANTS], data stored in ESI and so on (read write access ;) )


Title: Re: technical request
Post by: Jesse on July 28, 2011, 01:10:55 AM
Already thought of this, but many changes have to be made because by now each calculation thread is sharing the formulas, so no writing is allowed - else you get artifacts of course.
I would have to program that each thread gets it own formula with variables.

A more general use of formulas is also on the todo list, but i guess this needs really some time until i get there...


Title: Re: technical request
Post by: DarkBeam on July 28, 2011, 09:07:25 AM
Okay understood thanks :)


Title: Re: technical request
Post by: DarkBeam on July 28, 2011, 08:20:45 PM
Another idea is a 'pre-calculation' code called just to calculate some constants that depend on the user data, but this is not so urgent :D
Another idea is a support for 2d angle matrix (plane rotation) - barely compute sine and cosine of the chosen angle. Not urgent but handy for sure :beer:


Title: Re: technical request
Post by: cKleinhuis on July 28, 2011, 08:43:23 PM
Another solution, a [VARIABLES] section, similar to [CONSTANTS], data stored in ESI and so on (read write access ;) )

be sure n
Already thought of this, but many changes have to be made because by now each calculation thread is sharing the formulas, so no writing is allowed - else you get artifacts of course.
I would have to program that each thread gets it own formula with variables.

A more general use of formulas is also on the todo list, but i guess this needs really some time until i get there...

be sure not to trade speed against flexibility.... such modifications could radically slow down the program for a *rarely*(?) used feature!


Title: Re: technical request
Post by: DarkBeam on July 28, 2011, 11:04:59 PM
No, absolutely... Load a pack of bytes takes no time :) and it will be done only if necessary (example, phoenix fmla)


Title: Re: technical request
Post by: Jesse on July 29, 2011, 09:29:18 AM
be sure not to trade speed against flexibility.... such modifications could radically slow down the program for a *rarely*(?) used feature!

Of course i am always trying to not decrease speed or to have good reasons to loose some precents.

For the variables i have in mind to make an optional initialization code for formulas that will be performed before the iterations, so max 6 tests for zero pointer would be added on usual formulas, should not decrease speed that much.
For the more general formula combination with interpolation, alternation and DEcombination i had to test it before and would be only satisfied if speed decrease is under 10 percent.