So gradle hates me basically, All the libraries I could see in the editor (BetterFoliage) didn’t exist at compile time, and the ones that did exist at compile time (Minecraft/Forge) didn’t exist in the editor. yay Fixed by deleting all my gradle caches (project & global), invalidating IntelliJ caches, reinstalling... [Read More]
Improved RAM Usage! All algoritms are now a lot faster!
I’ve made everything pooled (Faces, Caches, Vec3s). I’ve modularised the entire mod. Rendering is now completely split from mesh generation. I build my caches as meshSize + 1 on all axis, meshSize = 18 for Surface Nets and meshSize = 17 for all other mesh generators. I now use 1... [Read More]
I can run the algorithms on the GPU! In other news, Java hates me
Apparently Java 8 added support for running code on the GPU, it might be limited to code involving primitives and primitive arrays though. In either case the algorithms will need only a few minor tweaks to run this way, unfortunately code readability will suffer a lot.
SurfaceNets is now theoretically 61x faster!
After dealing with Java randomly swapping the values of 2 of my variables, I’ve written my own implementation of Surface Nets that scans a 19*19*19 (6895) area, down from the original 18*18*18*8*9 (419,904) lookups. I’ve also done some variable/object pooling for better memory use. All this should make the algorithm... [Read More]
SurfaceNets is now 8x faster!
I’ve fixed all the world-hole bugs and optimised the render algorithms in a pre-release on GitHub, it’s not stable yet though. All algorithms are now faster by a factor of 8. Instead of doing 18*18*18*8*9 (419,904) lookups I’m now only doing 18*18*18*9 (52,488) lookups. It’s now faster than vanilla, and... [Read More]