summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2022-11-24 12:58:22 -0800
committerclayjohn <claynjohn@gmail.com>2022-11-24 13:00:42 -0800
commit535f1adc8d0b0b2fc200e0c8780fc897653d98d3 (patch)
treed54609049903af9fa2995e77cea9b01cc51facce
parenta16d3625c3b2e82c88cb29e897523aa53f78ec7c (diff)
Fix drawing of Mesh2D
The batch was being discarded if no instance buffer was present, but an instance buffer is only needed for MultiMesh and particles.
-rw-r--r--drivers/gles3/rasterizer_canvas_gles3.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp
index 0c102bfc1d..07d56b156c 100644
--- a/drivers/gles3/rasterizer_canvas_gles3.cpp
+++ b/drivers/gles3/rasterizer_canvas_gles3.cpp
@@ -1306,10 +1306,6 @@ void RasterizerCanvasGLES3::_render_batch(Light *p_lights, uint32_t p_index) {
instance_uses_custom_data = true;
}
- if (instance_buffer == 0) {
- break;
- }
-
ERR_FAIL_COND(mesh.is_null());
uint32_t surf_count = mesh_storage->mesh_get_surface_count(mesh);
@@ -1339,6 +1335,9 @@ void RasterizerCanvasGLES3::_render_batch(Light *p_lights, uint32_t p_index) {
}
if (instance_count > 1) {
+ if (instance_buffer == 0) {
+ break;
+ }
// Bind instance buffers.
glBindBuffer(GL_ARRAY_BUFFER, instance_buffer);
glEnableVertexAttribArray(1);