Godot Version
v4.3.stable.official
Question
I have been slowly working on a Voxel Game in Godot using array mesh, and I have come across an issue where my Array meshes somehow can’t buffer anymore and start showing up in the sky like in the image below. I should note a few details:
- These meshes don’t stay in the sky - they can blink in and out - and sometimes even reappear where they should be sometimes depending on my position and rotation
- Collision (uses the same lists of vertices as mesh but is not directly related) still works even when the meshes are broken
- meshes can still sometimes occlude things from behind it even if the mesh is floating up in the sky - as seen in the image below
- Eventually happens if I set render distance (for generating chunks - not Godot’s built in render distance) too high
- My computer is not a gaming computer and I might just have to keep render distance low to avoid this issue…
Here are some of the errors I have been getting - these often start about 30,000 errors if I let it run - none of them crash the game.
E 0:03:11:0958 draw_list_bind_vertex_array: Parameter “vertex_array” is null. <C++ Source> servers/rendering/rendering_device.cpp:3963 @ draw_list_bind_vertex_array() - this one I haven’t noticed as much - it made up most of the errors from when the above picture was taken
E 0:02:00:0992 chunk.gd:269 @ build_tufts(): Can’t create buffer of size: 60000, error -2. <C++ Error> Condition “err” is true. Returning: BufferID() <C++ Source> drivers/vulkan/rendering_device_driver_vulkan.cpp:1299 @ buffer_create() chunk.gd:269 @ build_tufts() - this one and the next one are the main two. These also always come first.
E 0:02:00:0992 chunk.gd:269 @ build_tufts(): Condition “!buffer.driver_id” is true. Returning: RID() <C++ Source> servers/rendering/rendering_device.cpp:2418 @ vertex_buffer_create() chunk.gd:269 @ build_tufts()
Build tufts is one of my Array Meshes (its like grass and snow and stuff like that) but it also happens for the main terrain and my tree array meshes. The specific line it is talking about is when I call myArrayMesh.add_surface_from_arrays() - pretty sure stuff I put into that is okay at this point.
Sorry, this is probably really long and confusing - I have been trying to debug with ChatGPT for a while and am pretty sure its just a computer system limit, but I don’t know if anyone knows of a solution apart from a shorter render distance.
