summaryrefslogtreecommitdiffstats
path: root/drivers
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 /drivers
parenta16d3625c3b2e82c88cb29e897523aa53f78ec7c (diff)
downloadredot-engine-535f1adc8d0b0b2fc200e0c8780fc897653d98d3.tar.gz
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.
Diffstat (limited to 'drivers')
-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);