|
![](/i/fill.gif) |
If you really want to render the mandelbulb with povray you either have to
unroll the iterations or you have modify povray itself. I chose the latter.
You can see here how Povray rendered an isosurface using a mandelbulb function.
http://softwareprocess.es/x/x/mandelbulb/1povAA.png
I just added a user function in fnintern.cpp. You can do this too or you can use
my patch found at:
http://softwareprocess.us/index.cgi/Mandelbulb
The patch itself: http://softwareprocess.es/x/x/mandelbulb/fnintern.cpp.patch
abram
"scott" <sco### [at] scott com> wrote:
> > Indeed, my plan is to write a custom renderer. I was more asking about
> > which kinds of algorithms might be appropriate to use.
>
> AFAIK they are just using a normal backward raytracer like POV, but with
> some optimisations to find the fractal surface quickly rather than just
> binary search along the ray. You know how when you render a 2D mandelbrot
> you can use that double-log formula to get a smooth iteration count? Well I
> think they're using a similar formula to get an indicator of how far away
> they are from the surface. If you calculate that at 2 or 3 points close
> together on your ray, you should be able to extrapolate to get a pretty good
> estimate of where the surface actually is. Repeat until you're at
> sufficient accuracy.
>
> To estimate the surface normal I think you could re-calculate the fractal
> (using the smooth iteration count formula) a short distance away on each
> axis. This can then be used for the lighting algorithm or your choice (it
> seems a lot of them then shoot a few hundred rays out for some AO lighting
> in addition to diffuse and shadows).
>
> It certainly looks exciting, after my df3 isosurface attempts I'm very
> tempted to try this myself too. I'm going to think about if a GPU version
> is possible.
Post a reply to this message
|
![](/i/fill.gif) |