top of page

Overview

ProVoxel Editor is a simple voxel editor being created in OpenGL using my little library (ProEngine3D).

​

At this moment, editor has following features:

  • add/remove voxel,

  • extrude/intrude surface,

  • extrude/intrude color (similar to surface but for matching color only),

  • undo/redo,

  • loading MagicaVoxel (.vox) files.

​

Technical info

Voxels are rendered in simple way, using instanced cubes. This is not the most efficent way to do this, but it can handle ~1 milion cubes at 60fps on GTX 1050, which is enough for the beginning. I have tested also rendering cubes using geometry shader, but performance was much worse (obviously). In the future I plan to implement raytraced voxel rendering, which I think may be the best way to render voxels due to super simple structure of the world.

​

Editing voxels is based on Command Pattern, which allowed to super easily add Undo/Redo functionality. Finding voxel pointed by mouse is done by casting ray on the voxel's grid until non-empty cell is found. Extrude/intrude surface uses flood-fill algorithm.

​

For user interface, I have used Dear ImGui, which I think is the most common library to use with OpenGL.

bottom of page