From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

BGE Voxels Proposal

Overview

The BGE Voxels project is part of the Candy Branch, and aims to bring a new rendering method to the BGE.

Polygon to Voxel conversion

Polygonal objects will be automatically baked into an octree upon start of the engine. Modelling workflow will remain pretty much the same. When exporting as runtime, polygons will not need convert to voxels, they will be converted and saved upon exporting.

Rendering Speed

The render speed will remain the same no matter how many static voxels you have in the world. The higher the resolution, the slower it will go, but it will remain at a constant speed once it's set. Lots of animations/scripts/etc will still slow it down of course, but rendering speed will remain constant.

RAM Usage

Voxels use up more ram than polygons do. You will have to limit the number of objects you have. Instancing can help solve this problem. For example, you can make a single model of each type of tree, and duplicate it everywhere needed and simple change the scale, rotation, and deform the limbs a little, but keep them all pointing to the same original object. Also, for huge terrains, something a bit procedural could work. Define a basic shape with a relatively low resolution height map, and then have the engine smooth out the land, rather than having a huge height map. You could also add more detail with a tiled detail map.

Materials

Textures will be able to be applied on objects that have no thickness (hollow objects). You unwrap the object as you normally would. You can also make an object that is actually solid. This is good for things like realtime destruction. There will also be a system for the material to have the color change based on certain conditions, such as distance to surface, position, distance from camera, etc. These may be added to the current shader nodes and appear when voxel rendering mode is enabled. Things like refraction will also be included.

Physics

I don't think bullet would work with voxels, so I may have to program in physics for the voxel engine aswell. This would hopefully also include faster speeds and other special features like water and smoke.

Other

Voxels work rather well as particles, so I will implement a particle system aswell. You will still be able to write 2d filters, although it may not be with GLSL. I will include a variety of post-pro effects such as bloom, light rays, and SSAO.