Open duckdoom5 opened 4 months ago
Appreciate the thinking and application.
After I added this to my modified version it needed tweaking pretty significantly a few overflows and other issues but all in all great performance boost!
If anyone would like the rust version ping me.
You can remove the padding early to fit the culled faces into a
u32
, reducing the required memory even more. We can also update thecolFaceMasks
array to useCHUNK_SIZE
, since the padded values are never used. We can even do the same foraxisCols
. We only need them to have au64
row value to store the two additional bits.I also updated the voxel neighbours checking loop to remove the corner bits from being processed twice. Excuse the amount of code, I personally have it as a function with callback in c++, but I don't know how to do it in Rust.
Note: Did not try to compile nor test the rust version, sorry if it doesn't. (I can help fix it, if so.) I'm using c++, and have verified it works there!