Commit: 57efef2635910de33bd6844e57fce22028985c84 Author: Campbell Barton Date: Tue Jan 31 16:45:33 2023 +1100 Branches: master https://developer.blender.org/rB57efef2635910de33bd6844e57fce22028985c84
Fix generating geometry icons for meshes without vertex colors =================================================================== M release/datafiles/blender_icons_geom.py =================================================================== diff --git a/release/datafiles/blender_icons_geom.py b/release/datafiles/blender_icons_geom.py index 878cc4b46f6..45447892700 100644 --- a/release/datafiles/blender_icons_geom.py +++ b/release/datafiles/blender_icons_geom.py @@ -121,10 +121,14 @@ def object_child_map(objects): def mesh_data_lists_from_mesh(me, material_colors): me_loops = me.loops[:] - me_loops_color = me.attributes.active_color.data[:] me_verts = me.vertices[:] me_polys = me.polygons[:] + if me.attributes.active_color: + me_loops_color = me_loops_color_active.data[:] + else: + me_loops_color = None + tris_data = [] for p in me_polys: @@ -138,7 +142,8 @@ def mesh_data_lists_from_mesh(me, material_colors): l_sta = p.loop_start l_len = p.loop_total loops_poly = me_loops[l_sta:l_sta + l_len] - color_poly = me_loops_color[l_sta:l_sta + l_len] + if me_loops_color is not None: + color_poly = me_loops_color[l_sta:l_sta + l_len] i0 = 0 i1 = 1 @@ -150,9 +155,12 @@ def mesh_data_lists_from_mesh(me, material_colors): l1 = loops_poly[i1] l2 = loops_poly[i2] - c0 = color_poly[i0] - c1 = color_poly[i1] - c2 = color_poly[i2] + if me_loops_color is not None: + c0 = color_poly[i0].color + c1 = color_poly[i1].color + c2 = color_poly[i2].color + else: + c0 = c1 = c2 = (1.0, 1.0, 1.0, 1.0) v0 = me_verts[l0.vertex_index] v1 = me_verts[l1.vertex_index] @@ -186,7 +194,7 @@ def color_multiply_and_from_linear_to_srgb(base_color, vertex_color): The final color is the product between the base color and the vertex color. """ import mathutils - color_linear = [c * b for c, b in zip(vertex_color.color, base_color)] + color_linear = [c * b for c, b in zip(vertex_color, base_color)] color_srgb = mathutils.Color(color_linear[:3]).from_scene_linear_to_srgb() return tuple(round(c * 255) for c in (*color_srgb, color_linear[3])) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs