Fix 2d mesh transforms and colors.

This commit is contained in:
Relintai 2024-03-11 12:45:36 +01:00
parent fb99db4585
commit 5604071bb4

View File

@ -875,6 +875,9 @@ void RasterizerCanvasGLES2::render_batches(Item *p_current_clip, bool &r_reclip,
state.canvas_shader.set_uniform(CanvasShaderGLES2::COLOR_TEXPIXEL_SIZE, texpixel_size); state.canvas_shader.set_uniform(CanvasShaderGLES2::COLOR_TEXPIXEL_SIZE, texpixel_size);
} }
state.canvas_shader.set_uniform(CanvasShaderGLES2::MODELVIEW_MATRIX, state.uniforms.modelview_matrix * mesh->transform);
state.canvas_shader.set_uniform(CanvasShaderGLES2::FINAL_MODULATE, state.uniforms.final_modulate * mesh->modulate);
RasterizerStorageGLES2::Mesh *mesh_data = storage->mesh_owner.getornull(mesh->mesh); RasterizerStorageGLES2::Mesh *mesh_data = storage->mesh_owner.getornull(mesh->mesh);
if (mesh_data) { if (mesh_data) {
for (int j = 0; j < mesh_data->surfaces.size(); j++) { for (int j = 0; j < mesh_data->surfaces.size(); j++) {
@ -919,6 +922,9 @@ void RasterizerCanvasGLES2::render_batches(Item *p_current_clip, bool &r_reclip,
} }
} }
state.canvas_shader.set_uniform(CanvasShaderGLES2::MODELVIEW_MATRIX, state.uniforms.modelview_matrix);
state.canvas_shader.set_uniform(CanvasShaderGLES2::FINAL_MODULATE, state.uniforms.final_modulate);
storage->info.render._2d_draw_call_count++; storage->info.render._2d_draw_call_count++;
} break; } break;
case Item::Command::TYPE_MULTIMESH: { case Item::Command::TYPE_MULTIMESH: {