So, I'm looking for a voxel graphic engine with C++ libraries (game oriented). Just for fun, it would be the first time I use a graphic library, so it doesn't have to be very complex or powerful, just easy to understand.
A voxel is a unit of graphic information that defines a point in three-dimensional space. Since a pixel (picture element) defines a point in two dimensional space with its X and Y coordinates , a third z coordinate is needed. In 3-D space, each of the coordinates is defined in terms of its position, color, and density.
Minecraft is a sandbox video game that uses voxels to store terrain data, but does not use voxel rendering techniques. Instead it uses polygon rendering to display each voxel as a cubic "block".
Some tools in 3D modeling software work not in meters, pixels, or inches, but in a different unit: voxels, three-dimensional cubes that represent uniform volumes of space.
Neural voxel renderer converts a set of colored voxels into a realistic and detailed image. It also allows elaborate modifications in the geometry or the appearance of the input that are faithfully represented in the synthesized image.
I'm involved with developing a modern voxel library called PolyVox which provides volume storage (including paging), surface extraction as well as supplementary features like ray casting and ambient occlusion calculation. It's not a game engine though but provides all the voxel stuff you need to plug into anything else. It's fully open source and there's a good developer community for it. On the forums people are always willing to answer general questions about voxel rendering etc.
Bear in mind that voxels are just a concept. There are several ways of handling them as data, and several ways of visualizing them (extract geometry, raycasting, ...).
It's a data point in a fixed-spaced grid, that's it. What this point represents or which geometric primitive you associate with it, that's totally implementation-specific. People usually visualize them as cubes occupying the entire cell in the fixed space grid, that's why you associate them with cubes.
The most famous/popular voxel-based application, Minecraft, visualizes them using the standard rasterization pipeline as cubes centered on a grid. (Academic) Systems like GigaVoxels perform ray-tracing into a Sparse Voxel Octree structure to generate images.
I've encountered the following voxel-oriented libraries:
And here's a reddit post with 20 years of voxel engine code: https://www.reddit.com/r/VoxelGameDev/comments/3fvjb4/20_years_of_voxel_engines_source_code_included/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With