GigaVoxels / GigaSpace A CUDA/GLSL library for the efficient 3D real-time rendering of highly detailed scenes. | |
Long version: See what is GigaVoxels. Short version: GigaVoxels/GigaSpace is a GPU-based library for the efficient rendering of massive scenes and objects (i.e. very detailled, large or crowded). Data is encoded as SVO - more precisely, octree of bricks - automatically loaded or generated on GPU at appropriate resolution whenever visible, then kept in a cache on GPU. Only what is seen (and at appropriate resolution only) is produced, stored and rendered, so that it always fits memory[1] and renders efficiently. Our voxel cone tracing is basically a 3D MIP-mapping. As such, it accounts nicely and cheaply for anti-aliasing and continuous LOD transition, and the technology also permits nice and cheap rendering effects such as soft shadows, depth of field or multiple scattering[2] - the blurrier the better, right oppositely to classical algorithms :-) . The user just provides (or choose in our toolkit) a data-type, a ray-renderer function and a producer callback function (that might be half on CPU and half on GPU). Interoperability with OpenGL is easy (we provide plenty of examples). Moreover, a GLSL version of the GigaVoxels renderer is available, e.g. for direct integration within the pixel shader of some complex material. Indeed, GigaVoxels/GigaSpace is also a lot more than this. It can do simple things simply, but is deeply customisable, and can also process non-voxel data (points, triangles, ...), rely on various hierarchy schemes (BVH, BSP, ...), and even be used for other tasks than direct rendering (collision detection, points sorting, textures...). Footnote 1: For the cache to fit, the asumption is that not all data is simultaneously visible: either one can see a few (front stage) at high resolution or a lot (back stage) at low resolution. Cluster of opaque objects (possibly with fuzzy skin) in transparent medium is perfect - the denser the better. Huge fully semi-transparent 3D continuum is bad. Footnote 2: Multiple scattering is not implemented in the toolkit, but illustrated in the article "GI-voxels".LicenseGigaVoxels/Gigaspace distributed under the BSD 3 free software license, for non-commercial as well as commercial use. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the BSD3 License for more details. As a research center INRIA cannot ensure long term software maintenance, but a community out of INRIA might help you on, and INRIA might be able to answer or redirect concerning special needs (e.g. development, formation). For both, see contact. |