|
|
Greetings, POV-Ray people! I've had a bit of a break from raytracing for a while
& have just started getting into it again a couple of months ago. So some of my
old POV-Ray knowledge is a little rusty. :)
Invisible <voi### [at] devnull> wrote:
> Darren New wrote:
> > http://www.skytopia.com/project/fractal/mandelbulb.html#renders
>
> Any idea how you render something like this?
>
> I mean, I suppose you could use a sphere-tracing algorithm like
> POV-Ray's isosurface{} construct. But is there any better way?
I've been playing with the Mandelbulb for the last few days. I generate the
voxel information in Python, but I plan to change that to C shortly.
My first attempts simply rendered each voxel as a sphere or box, but it took
ages to parse the data. I've also tried to render the Mandelbulb as a blob of
spheres, but it took ages to render. I got some interesting images, but the
shape of the Mandelbulb is dominated by the artifacts from the process of
turning a rectangular 3D array of spheres into a blob.
My more recent versions generate the data as a simple df3 file, with a value of
255 for voxels inside the Mandelbulb & 0 outside. My largest data file so far is
300x300x300. I tried rendering this as an emissive media, but it just looks like
a big cloud. :(
My most successful images render the Mandelbulb as an isosurface. The image
linked below uses a slope based pigment.
#declare f = function{pattern{density_file df3 FName interpolate 1}}
isosurface {
function{f(x, y, z)}
contained_by{box{0, 1}}
threshold 0.5
max_gradient Max_gradient
accuracy 0.01
open
translate -0.5
}
http://i2.photobucket.com/albums/y43/PM2Ring/MandelbulbD7S90.jpg
Post a reply to this message
|
|