|
@@ -850,6 +850,16 @@ void RasterizerCanvasGLES3::render_batches(Item *p_current_clip, bool &r_reclip,
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
+ int amount = MIN(multi_mesh->size, multi_mesh->visible_instances);
|
|
|
+
|
|
|
+ if (amount == -1) {
|
|
|
+ amount = multi_mesh->size;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!amount) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
RasterizerStorageGLES3::Texture *texture = _bind_canvas_texture(mmesh->texture, mmesh->normal_map);
|
|
|
|
|
|
state.canvas_shader.set_conditional(CanvasShaderGLES3::USE_INSTANCE_CUSTOM, multi_mesh->custom_data_format != VS::MULTIMESH_CUSTOM_DATA_NONE);
|
|
@@ -863,12 +873,6 @@ void RasterizerCanvasGLES3::render_batches(Item *p_current_clip, bool &r_reclip,
|
|
|
state.canvas_shader.set_uniform(CanvasShaderGLES3::COLOR_TEXPIXEL_SIZE, texpixel_size);
|
|
|
}
|
|
|
|
|
|
- int amount = MIN(multi_mesh->size, multi_mesh->visible_instances);
|
|
|
-
|
|
|
- if (amount == -1) {
|
|
|
- amount = multi_mesh->size;
|
|
|
- }
|
|
|
-
|
|
|
glVertexAttrib4f(VS::ARRAY_COLOR, 1.0, 1.0, 1.0, 1.0);
|
|
|
|
|
|
for (int j = 0; j < mesh_data->surfaces.size(); j++) {
|