The big internal refactorisation of the code is still going on.

The process is quite painful and slow, since I try to iterate toward the new improved voxel mesh API without breaking the code at each step. All in all I am quite happy with the direction it's taking. I think I will even be able to distribute the voxel mesh code as a separate single file C library for people who would want to use it in their own project. Basically this would provide an infinite indexable sparse 3d array with very fast access. Something similar to the OpenVDB project, but lightweight and more suitable for smaller projects.

You can follow the development on the int-mesh branch:
https://github.com/guillaumechereau/goxel/tree/int-mesh

Stay tuned!
Read More →
Goxel reached the point where it will become difficult to rewrite the core. So before I add any new features I decided to do a big cleanup of the core.

The most important part will be to make the voxel mesh structure an opaque type, only accessible via a few functions. Conceptually a mesh is an infinite indexable 3d array, and I want the API to reflect this.

An other change I might do before it's too late is to remove all the vector struct I have been using (vec3, etc) and instead directly using native array types (float[3]). It's a bit more verbose but would make it easier to integrate other libraries.

I hope the refactoring will be done in a month or so, after which I can start to work toward a new release.
Read More →
Thanks to the administrators to accept Goxel.

I will try to post regularly updates about the project. The development is probably going to slow down for a few months as I won't have much time to work on it.

My goal for the next release is to do some cleanup of the code. It will be the occasion to write about the process.
Read More →