Welcome to Fractal Forums

Fractal Software => General Discussion => Topic started by: makc on March 23, 2010, 08:36:18 PM




Title: volume rendering with ImageVis3D
Post by: makc on March 23, 2010, 08:36:18 PM
Check it out - ImageVis3D (http://en.wikipedia.org/wiki/ImageVis3D) is opensource multiplatform software dealing with CT scans mostly, my initial interest in it was due to isosurface extractor:

(http://xs.to/thumb-23C5_4BA9152B.jpg) (http://xs.to/image-23C5_4BA9152B.jpg)

However, it also has built-in GPU renderer and primitive automation support that allows for simple isosurface animations (http://www.youtu.be/cHwQhR-7vhw). To render, for example, various Mandelbulb animations with this thing, you would only have to create data set in their format. The only shortcoming is that their raycaster does not work inside isosurface.


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 24, 2010, 05:41:13 PM
This actually gives rather shitty results for power 8 mandelbulb sampled at ~128x128x128 resolution (edit: turned out to be mainly due to lack of bits per voxel - see below) Same after extracting isosurface with over 300K polygons to blender:

(http://xs.to/thumb-CAF2_4BAA3E75.jpg) (http://xs.to/image-CAF2_4BAA3E75.jpg)

I don't see how increasing resolution could help, but will try, just to be sure.


Title: Re: volume rendering with ImageVis3D
Post by: cKleinhuis on March 24, 2010, 05:59:18 PM
isosurfaces produce extremely large files ...

would you like to watch a 128x128 pixel mandelbulb ? !it is no more than an icon on your desktop

fractal surfaces tend to infinity ....

and the problem with 3d is, that if you double the axes, e.g. 256x256x256, you get a 8x increase in data

so, to get reasonable results, you should start at experimenting with 512x512x512 resolution at least :D



Title: Re: volume rendering with ImageVis3D
Post by: hobold on March 24, 2010, 06:24:06 PM
My own rendering experiments were based on volume data as well. All the "high definition" imagery I presented on these forums used sampling grids of at least 1000^3 voxels. Simply speaking, the voxels need to be roughly as small as the pixels of a 2d rendering.

Volume rendering fractals is a brute force approach, but it has the advantage of being very general. There is nothing that cannot be rendered. But it can be very difficult to get an accurate sampling of the volume in the first place.


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 24, 2010, 06:36:58 PM
well, I don't mind low resolution (as in "absence of rich details") as long as isosurface comes out smooth, but it just doesn't :( I tried 256x256 and this gets me some pretty pictures in volume rendering mode, but isosurface still suck both in shading and smoothness:

(http://xs.to/thumb-385A_4BAA4B80.jpg) (http://xs.to/image-385A_4BAA4B80.jpg)

in addition, their software has bugs on my gpu, so this isn't going anywhere :(


Title: Re: volume rendering with ImageVis3D
Post by: cKleinhuis on March 24, 2010, 06:59:22 PM
if you want "smooth" surfaces, you have to deal with lower iterations .... but hey, it is a fractal, what did you expect when increasing resolution !?

the deeper you go the higher iterations you need, but for smooth look on the whole set, iteration count of 4 or 5 is enough!
 O0


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 24, 2010, 07:05:36 PM
what did you expect when increasing resolution !?
I expected some sort of smooth but bumpy surface like goose skin?


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 24, 2010, 09:51:23 PM
I continue messing with it, log-log shading (http://linas.org/art-gallery/escape/smooth.html) seem to give better results.


Title: Re: volume rendering with ImageVis3D
Post by: kram1032 on March 24, 2010, 09:58:51 PM
I expected some sort of smooth but bumpy surface like goose skin?
Nice contradiction ;)


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 24, 2010, 10:20:32 PM
Nice contradiction ;)
my feeling is that there is some subtle difference between "bumpy" and "absolute noise".


Title: Re: volume rendering with ImageVis3D
Post by: cKleinhuis on March 24, 2010, 11:07:27 PM
Nice contradiction ;)
my feeling is that there is some subtle difference between "bumpy" and "absolute noise".

hey, it is not "absolute noise" ... it is fractal noise ... :D

this is an essential property of the objects when working with higher iterations, as i told before, try lowering you iteration depth!



Title: Re: volume rendering with ImageVis3D
Post by: kram1032 on March 24, 2010, 11:19:21 PM
as this is volume data, you could also try to make the density iteration-depth based. Higher iterations being more transparent.
This way, you'd get the basic shape pretty clear but the increasing level of fuzzyness will be weakened.
If I remember correctly, bib used soimething similar on some of his renders of the Mbulb....


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 25, 2010, 01:26:15 AM
yep, that's what ImageVis3D does by default. here's what it looks like:

(http://xs.to/thumb-B74C_4BAAAC12.jpg) (http://xs.to/image-B74C_4BAAAC12.jpg)

edit: adding another vimeo animation, should be working in a half of hour:

http://www.vimeo.com/10421491

but my interest here is, for some reason that escapes me, isosurfaces. I have found that bits per voxel is parameter influencing smoothness the most. this is what it looks like with 2 bytes per voxel:

http://www.vimeo.com/10419794


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 25, 2010, 02:21:12 PM
ok, so I would consider smoothness problem solved for isosurfaces. it persists, however, in volume rendering mode. why do I care? well, I was thinking about displaying several isosurfaces at the same time with some nice transparent shading but, even if you can do that by importing those in blender once, or twice, this is a problem when you need 100s of frames.

and here comes volume rendering feature: they have this transfer function that essentially maps your voxel value to color/opacity. so I thought, if you leave everything transparent, and make some interval a...b slightly opaque, you would have nice colored shell in result. this is indeed true for outer shells (blue in the video below), but inner shells (yellow) are ripped into filaments, and innermost shells (not present) are dispersed in random dots that look like noise (this eventually happens to isosurfaces too, but they are able to resist rupture much longer).

http://www.youtube.com/watch?v=nIx9AA8BDfg

obvious way to solve this would be to increase data resolution up to few GBs, but that defeats the purpose, because then it would be actually faster to raytrace the fractal over at every frame (which also does not have rupture problem and gives any resolution you want). another obvious solution is to use bigger a...b interval, but I personally find think shells just result in ugly blurry dirty large unnecessary spot. so the only option left is to make smooth voxel values gradient even smoother.

I am currently using log-log method (http://linas.org/art-gallery/escape/smooth.html) basically, and looking for ideas to modify it so that it would produce results similar to flood-fill near the set, gradually fading into normal shading at the distance:

(http://xs.to/image-B62B_4BAB60AE.jpg)
/me is in a search of perfect vacuum plastic wrap ;)



Title: Re: volume rendering with ImageVis3D
Post by: Sockratease on March 25, 2010, 05:04:32 PM
I actually like the translucency in that animation   :D

I'll have to look into this software when I get some spare time (in about a year or 2!).


Title: Re: volume rendering with ImageVis3D
Post by: cKleinhuis on March 25, 2010, 05:06:44 PM
I actually like the translucency in that animation   :D

I'll have to look into this software when I get some spare time (in about a year or 2!).
rofl


Title: Re: volume rendering with ImageVis3D
Post by: kram1032 on March 25, 2010, 06:40:28 PM
oh, so you're exporting the volume to Blender? Nice :)

I really like those animations a lot. Maybe they could help finding interesting parts on the interrior...


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 25, 2010, 07:04:02 PM
hardly, because they are actually exterior (not even the set itself)


Title: Re: volume rendering with ImageVis3D
Post by: kram1032 on March 25, 2010, 07:37:36 PM
Ah, I see... :)


Title: Re: volume rendering with ImageVis3D
Post by: makc on March 31, 2010, 11:58:11 AM
Just one last render before I uninstall this thing:
(http://xs.to/image-761C_4BB319CF.jpg) (http://is.gd/b7Y2N)