-
-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
voxel blocky library - going over hard limit causes infinite loop #644
Comments
I'm not aware of ways to use
It does, it's documented here: https://voxel-tools.readthedocs.io/en/latest/api/VoxelBlockyLibraryBase/#constants
Stuck how?
This is quite an insane amount already. It sounds like you're trying to do something or workaround something, that is simply not the right approach here. And even then, the mesher won't work on 32-bit, it only has cases for 8 and 16.
This is way too much. You're not using the right tool here. This is going to use gigabytes of JUST models data... I'm not really willing to add that to the module at the moment, but maybe you could do some changes on your side. Though still, it really sounds like you aren't using the right system. |
Sorry I mistyped...I meant the voxelbuffer instead of the voxelviewer. It has the depth enum which seems to imply you can set it all the way up to 64bit When I say it gets stuck I mean the for loop never finishes. |
Yes you can set it to higher depths, but that doesn't mean the rest of the module is tuned to use every possible depth everywhere. Meshers generally don't use 64 bits at all, and some dont use 32 either because it's beyond common/reasonable use cases. It also depends on the channel. I'm actually wondering if I should even keep 64, as I never had any use for it.
I just tested this: extends Node
func _ready():
var library := VoxelBlockyLibrary.new()
for i in 70000:
var model := VoxelBlockyModelEmpty.new()
library.add_model(model)
print("Loop finished") It prints |
Describe the bug
Despite being able to set the bit depth to 32bit or higher through the voxelviewer; the library in the mesher seems to have a hard limit and the game will lock up if you try to place any more models in it.
To Reproduce
Create a voxel blocky library
Create a for loop with 70000 iterations
Use libary.add on a new voxel blocky model
It gets stuck here possibly due to the constants in voxelblockylibarybase which only seems to support 16 bit
Expected behavior
We really would like to use more 65k voxels as we are working on something quite specialised and it is likely that we will need close to a million in any case it probably shouldn't get stuck
Environment
The text was updated successfully, but these errors were encountered: