From d3b62a2a730d3e41a69097d87aac891705ce0085 Mon Sep 17 00:00:00 2001 From: Luke Ingram Date: Wed, 1 Oct 2025 13:51:12 -0400 Subject: [PATCH] [godot] Godot 3.x does not have support for specular maps --- spine-godot/spine_godot/SpineSprite.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/spine-godot/spine_godot/SpineSprite.cpp b/spine-godot/spine_godot/SpineSprite.cpp index d542eb465..ba6cae8e8 100644 --- a/spine-godot/spine_godot/SpineSprite.cpp +++ b/spine-godot/spine_godot/SpineSprite.cpp @@ -171,10 +171,16 @@ static void add_triangles(SpineMesh2D *mesh_instance, const Vector &vert auto texture = renderer_object->texture; auto normal_map = renderer_object->normal_map; auto specular_map = renderer_object->specular_map; +#if VERSION_MAJOR > 3 VisualServer::get_singleton()->canvas_item_add_triangle_array(mesh_instance->get_canvas_item(), indices, vertices, colors, uvs, Vector(), Vector(), texture.is_null() ? RID() : texture->get_rid(), -1, normal_map.is_null() ? RID() : normal_map->get_rid(), specular_map.is_null() ? RID() : specular_map->get_rid()); +#else + VisualServer::get_singleton()->canvas_item_add_triangle_array(mesh_instance->get_canvas_item(), indices, vertices, colors, uvs, Vector(), + Vector(), texture.is_null() ? RID() : texture->get_rid(), -1, + normal_map.is_null() ? RID() : normal_map->get_rid()); +#endif #endif #endif } @@ -374,11 +380,16 @@ void SpineMesh2D::update_mesh(const Vector &vertices, const Vectormesh_surface_update_region(mesh, 0, 0, mesh_buffer); VS::get_singleton()->mesh_set_custom_aabb(mesh, aabb_new); } - +#if VERSION_MAJOR > 3 VS::get_singleton()->canvas_item_add_mesh(this->get_canvas_item(), mesh, Transform2D(), Color(1, 1, 1, 1), renderer_object->texture.is_null() ? RID() : renderer_object->texture->get_rid(), renderer_object->normal_map.is_null() ? RID() : renderer_object->normal_map->get_rid(), renderer_object->specular_map.is_null() ? RID() : renderer_object->specular_map->get_rid()); +#else + VS::get_singleton()->canvas_item_add_mesh(this->get_canvas_item(), mesh, Transform2D(), Color(1, 1, 1, 1), + renderer_object->texture.is_null() ? RID() : renderer_object->texture->get_rid(), + renderer_object->normal_map.is_null() ? RID() : renderer_object->normal_map->get_rid()); +#endif #endif } #endif