



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.
