background preloader

Engines & code

Facebook Twitter

Field3D. Field3D is an open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk. The library and file format is both flexible and extendable. The flexibility comes from supporting heterogeneous storage of data structures, bit depths, transformations/mappings and metadata in a single file. When functionality needs to be extended, the plugin and class factory architecture allows new data structures, mappings and file I/O routines to be added.

Field3D was developed with the needs and scale of visual effects production in mind. The code was initially developed at Sony Pictures Imageworks as a replacement for the three different in-house file formats previously used to store voxel data. Source code The development code base can be accessed in two ways: Tar/zipballs of each previously released version can be found in the Downloads section License Mailing list Contact. Efficient-sparse-voxel-octrees - Open-source implementation of "Efficient Sparse Voxel Octrees"

Proof-of-concept voxel rendering system presented in "Efficient Sparse Voxel Octrees" at I3D 2010.

efficient-sparse-voxel-octrees - Open-source implementation of "Efficient Sparse Voxel Octrees"

Utilizes the massively parallel computing power available in GPUs to implement real-time ray tracing of voxel data represented using a compact octree data structure. See the sidebar for a download package with pre-compiled binaries, as well as a link to the paper. Feel free to post feedback on the discussion forum. New in version 1.4 Switch to New BSD License (previously Apache License 2.0). System requirements Microsoft Windows XP, Vista, or 7. 64-bit version is recommended to avoid running out of virtual address space when operating on large scenes. Developers Tero Karras Samuli Laine Contributors Gregory J. Volumesoffun / PolyVox / wiki / Home. Volumesoffun / PolyVox / wiki / Other Voxel Engines. There are several other voxel engines besides PolyVox.

volumesoffun / PolyVox / wiki / Other Voxel Engines

This page takes a brief look at some of them. OpenGL Minecraft Style Volume Rendering. To help reinforce my knowledge of OpenGL and C++ I’ve been working on a project to build a rendering engine which can then be used as the basis for a game or other type of 3D application.

OpenGL Minecraft Style Volume Rendering

I opted to implement a rendering engine that renders volumes in a ‘blocky’ style similar to that of the game Minecraft. Minecraft is a hugely popular indie game set in a world composed of destructible blocks. Players can add or remove blocks at will or explore a vast, randomly generated world of rolling hills and subterranean networks. I decided that writing an engine that performed rendering like Minecraft would be a good exercise as there is plenty of scope for learning and it is simple enough that I’d be able to get something that looked semi-decent running quickly.

If you’re looking for a complete implementation of this kind of engine then you should check out PolyVox. I frequently refer to parts of my code which are a bit too large to paste here. No normals (left) Normals for basic lighting (right). Pabennett/glblox. Voxel Engine Development. Cube Engine Games. OpenCL Voxel Raycaster. I started this project mostly in order to familiarize myself with OpenCL (which I find I prefer to CUDA), but also to answer a question: "is it possible to perform real-time voxel raycasting on the GPU?

OpenCL Voxel Raycaster

". As I've learned, many other people have wondered the same thing, and there are several voxel raycasters floating around on the web. Like many of these, the basic data structure which I use is a Sparse Voxel Octree (SVO), although I made a few "tweaks" to improve performance. The most important of these is that the leaves of the tree do not represent individual voxels--instead, each holds a 4x4x4 grid of voxels. Ray-casting through a grid is much faster than tree traversal, and this also enables us to store the 4x4x4 grids in texture memory, so this is superior both from a computational standpoint, and a memory-access standpoint.

The second main point of departure from other implementations is that I make no attempt to store normal vectors for the voxels. Cotter@ttic.edu. About PolyVox Voxel Terrain - Volumes Of Fun. PolyVox is the core technology which lies behind our games.

About PolyVox Voxel Terrain - Volumes Of Fun

It is a fast, lightweight C++ library for the storage and processing of volumetric (voxel-based) environments. It has applications in both games and medical/scientific visualisation, and is released under the terms of the zlib license. Images are from applications created by PolyVox users. From left to right: PolyClient, PRJZ, 3DS Max Voxel Terrain Editor. PolyVox is a relatively low-level library, and you will need experience in C++ and computer graphics/shaders to use it effectively.

Images are from applications created by PolyVox users. The PolyVox source code is hosted on BitBucket. You can also get a good idea of PolyVox’s capabilities by looking a the list of projects using it. Documentation is provided in several forms: For more information please see the documentation page. Images are from applications created by PolyVox users. Aaasen/voxel-party. Burito/voxel.

Voreen - Volume Rendering Engine. Voxel Game Engine. OpenVDB.