It has been about a week since my last post where I discussed what features I was focusing on. Here's an update as to whats going on.
So I began working on a selection tool, this would allow you to grab groups of voxels and move them around. There would also be options to re-color the selection, delete it, ect.
As I was going along, I quickly noticed performance was still not where it needed to be. So, I began my google hunt and what I've found has truly amazed me.
See, currently on my computer I was able to render about 30,000 voxels before I would see a decent drop in performance. With a change to how the rendering is carried out I was successfully able to render over 32,000,000 polygons, which would be over 5,000,000 voxels, without any trouble.
Quite a jump right
Left Side - simple 3d object consisting of 8 polygons
Right Side - that same simple 3d object rendered 4,000,000 times, so much so it created a seemingly solid object.
All the while maintaining a steady 60 fps.
With this coming change there shouldn't be any concerns about reducing the number of visible voxels, with that issue out of the way I can really adjust a lot of things. Meaning performance in all areas will go off the charts.
Now I did have some trouble. I was unable to perform this rendering technique in opengl, what StoneVox uses for it's rendering, and don't really know why. After fiddling around for a few hours and not really getting anywhere, I created a new project using directx. This was where I was able to do the large volume rendering.
If anyone here is knowledgeable on "hardware instancing" in opengl, maybe lwjgl too. Please let me know, it would be a great help going over with you possibilities as to what I'm going wrong. Till I solve this issue and get StoneVox up to speed, any progress towards the productivity features will be put on hold.
I'm sorry for any inconvenience, and thank you for your patience as I work through this.