| Submitted by , posted on 13 November 2001 |

Image Description, by Just a little screen shot from a little effect :) Features :

> - OpenGL rendering
> - mesh is constructed by recursing in an octree (only stores bounding boxes and field intensities, there is a custom memory allocator for the nodes so rather large trees can be generated without mem alloc penalty)
> - recursion takes into account visibility and metaballs bounding spheres, it stops inside the volume (negative metaballs are not handled yet)
> - metaballs field values calculation is writen in asm (~10% performance gain)
> - "highly" optimized bounding boxes view frustum culling (used ideas from Ulf Assarsson and Tomas Möller, "Optimized View Frustum Culling Algorithms," (http://www.ce.chalmers.se/staff/uffe/) : implemented frustum planes masking, temporal coherency (easy one but did not gave good results on the allways changing octree), and tests on n-p vertices)
> - mesh is generated using marching cubes algorithm

There are 12 metaballs moving in a rather large cube, mapped with an animated texture. The app runs at ~60FPS on my athlon 1GHz, geforce 256, 512Mo.
You can get the win32 executable and source code at http://www.supradyne.fr.st
Note that this is a part of a larger project named TOTTEUR, a (not finished yet) 3d engine released under the GPL (http://sourceforge.net/projects/totteur/)

[prev] | Image of the Day Gallery www.flipcode.com | [next]

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.