Over the last few weeks, time has been invested towards a voxel engine in my engine of choice, Unity3D. This includes optimization, procedural world generation, and other aspects aimed to create a randomly generated cubic world. So far, the game can draw chunks of 16x64x64 with a very good speed and I have altered the code to set 1/10 cubes to air randomly for testing.

16x64x16 Tex16x64x16 WireTex16x64x16 Wire16x64x16 Over

  1. Image one is the chunk drawn from a distance with regular rendering and a gray diffuse texture.
  2. Image two is the same chunk drawn with a wireframe on the regular cubes.
  3. Image three is just the wireframe drawn.
  4. Image four is the overdraw setting showing the density of drawn faces.

Faces on the inside of the chunk that are between two cubes are not drawn as to optimise rendering, a huge frame rate saver. The next step to tackle is setting up multiple chunks with a simplex or perlin noise height map to create a hilly landscape.