wow, how do you generate these images ?
with a triangle mesh ? and a heightmap, respects!
i am also trying to render heightmap, but i have to use exorbitant high resolutions to achieve those results, i use opengl for
that...
some questions:
how big is the mesh ? rendering time?
Trifox,
Yes, I used a height map, and generated a triangular polygon mesh (triangle strips, to be more specific) in OpenGL.
How big the plot I use varies. Sometimes I can get good-looking results from an 800-800 source plot, and other times I need to go quite a big larger, like 2000x2000 pixels. I think the "
Swirly Grape Julia 3D" image was created from a 2000x2000 plot.
I'm currently creating a mesh with a vertex for every pixel in the source image. I'm thinking of adding an option to do some averaging or other type of antialiasing to make the highly detailed parts of the plots look better. (I was just getting ready to post a question on that subject to the programming forum when I saw your post.)
I first generate my fractal and save a float value for distance estimates (DE). My app is highly optimized, so typical (2D) plot times are well under a minute on my Intel Core2 Duo MacBook laptop (2.4 gHz). The "Swirly Grape Julia" image, for example, takes about 11.5 seconds to render in 2D at 2000x2000 pixels with DE turned on. (It renders in a little under 4 seconds with DE turned off, because I can do boundary following with DE turned off, and calculating DE is pretty compute-intensive on it's own.) I may go back and add the continuous potential algorithm as another option, as it gives different looking results and is less compute-intensive than DE.
I then go back and massage the data into a height map, which involves finding the max value, taking the log10((max-DE)+1) for each pixel. I then scale THAT to 0-1 and do some further tweaking on it using a non-linear scaling formula I came up with that lets me adjust whether I increase the slope of my height map at high "altitudes" (height values) or low altitudes, while compressing the slope at the other extreme.
Building the height map and rendering the 3D image takes a second or two for a 2000x2000 vertex image (my laptop has an NVIDIA 8600 graphics chip, which is a decent performer). My latest version creates a "display list" out of the mesh, which speeds things up tremendously if you want to rotate or manipulate the final image. Manipulating a big mesh like a 2000x2000 is a little jerky when using a display list, but it's useable. It wasn't useable when I was drawing the mesh for each screen refresh.
Duncan