Mesh: Replace auto smooth with node group #108014

Merged
Hans Goudey merged 149 commits from HooglyBoogly/blender:refactor-mesh-corner-normals-lazy into main 2023-10-20 16:54:20 +02:00
4 changed files with 4 additions and 14 deletions
Showing only changes of commit d378d14d43 - Show all commits

View File

@ -864,8 +864,7 @@ static void tag_component_positions_changed(void *owner)
static void tag_component_corner_normals_dirty(void *owner)
{
Mesh *mesh = static_cast<Mesh *>(owner);
if (mesh != nullptr) {
if (Mesh *mesh = static_cast<Mesh *>(owner)) {
mesh->runtime->corner_normals_dirty = true;
}
}

View File

@ -584,7 +584,6 @@ const bool *ED_mesh_uv_map_edge_select_layer_get(const struct Mesh *mesh, int uv
const bool *ED_mesh_uv_map_pin_layer_get(const struct Mesh *mesh, int uv_map_index);
bool ED_mesh_edge_is_loose(const struct Mesh *mesh, int index);
int ED_mesh_normal_domain_all_info_get(const struct Mesh *mesh);
void ED_mesh_uv_ensure(struct Mesh *me, const char *name);
int ED_mesh_uv_add(

View File

@ -806,11 +806,6 @@ bool ED_mesh_edge_is_loose(const Mesh *mesh, const int index)
return loose_edges.count > 0 && loose_edges.is_loose_bits[index];
}
int ED_mesh_normal_domain_all_info_get(const Mesh *mesh)
{
return mesh->normal_domain_all_info();
}
static void mesh_add_verts(Mesh *mesh, int len)
{
using namespace blender;

View File

@ -478,8 +478,7 @@ static void rna_MeshLoop_normal_get(PointerRNA *ptr, float *values)
{
Mesh *me = rna_mesh(ptr);
const int index = rna_MeshLoop_index_get(ptr);
const blender::Span<blender::float3> loop_normals = me->corner_normals();
copy_v3_v3(values, loop_normals[index]);
copy_v3_v3(values, me->corner_normals()[index]);
}
static void rna_MeshLoop_tangent_get(PointerRNA *ptr, float *values)
@ -511,12 +510,11 @@ static void rna_MeshLoop_bitangent_get(PointerRNA *ptr, float *values)
{
Mesh *me = rna_mesh(ptr);
const int index = rna_MeshLoop_index_get(ptr);
const blender::Span<blender::float3> loop_normals = me->corner_normals();
const float(*vec)[4] = static_cast<const float(*)[4]>(
CustomData_get_layer(&me->ldata, CD_MLOOPTANGENT));
if (vec) {
cross_v3_v3v3(values, loop_normals[index], vec[index]);
cross_v3_v3v3(values, me->corner_normals()[index], vec[index]);
mul_v3_fl(values, vec[index][3]);
}
else {
@ -1619,8 +1617,7 @@ int rna_Mesh_loops_lookup_int(PointerRNA *ptr, int index, PointerRNA *r_ptr)
static int rna_Mesh_normal_domain_all_info_get(PointerRNA *ptr)
{
const Mesh *mesh = rna_mesh(ptr);
return ED_mesh_normal_domain_all_info_get(mesh);
return rna_mesh(ptr)->normal_domain_all_info();
}
static void rna_Mesh_vertex_normals_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)