Home - mrpedrobraga/Toyvox GitHub Wiki

Welcome to the Toyvox wiki!

If you're here, you're probably looking for a 3d game engine.

If you're looking for Minecraft engines, no, it's not it.

So yeah, Toyvox is a unique type of 3d engine. Actually it's very different from all of its siblings.

Toyvox is a voxel engine that treats the voxels just like their definition implies: a volumetric pixel. It's like a 2D renderer but in 3D in most aspects.

Oh, the flat shading

So, each voxel can only hold one color. And when you don't add any light to the environment, that's all they render to the screen. The idea of the flat-shading is to highlight the shape and not the individual voxels. Most of the time you won't be able to tell which voxel is which, but that's okay if you can clearly see the object.

Okay, so, without shading how can I perceive depth, after all?

Well, there are two ways of making it.

  1. Using the color of the voxels to shape the object the way you want. Just like 2D raster, for instance, if you just draw a blob of one color, of course, it will look bad. So you can to shade the object manually, show shape with texture, what is great for a cartoony look, but also for more realistic games. Check spritestack.io to see some sprites made that way.

  2. Add a lamp. If the layout has a lamp, it will auto-light your model, but per voxel and not per face! This is good if you want dynamic lighting, to set up the mood for your game - or just because it's cool.

Yet, you can combine both methods.

Oh, I like that engine! How can I get it?

It's free and open-source but make sure to read the license! If you want to support the development of this project (what will increase productivity since we can focus more on Toyvox), we'll be open for donations.

What requirements does the engine have?

Ok, so the engine is a C++ library. That means that you'll need to have C++ knowledge to use it. If you are already a C++ developer, there's not much you'll need then.

Together with the engine, you'll probably want to use the model editor and the scene editor as well.