[Bf-blender-cvs] [e7b6cc74f64] refactor-mesh-uv-map-generic: Merge branch 'master' into refactor-mesh-uv-map-generic
Hans Goudey
noreply at git.blender.org
Wed Aug 31 06:50:17 CEST 2022
Commit: e7b6cc74f6405dc701b2a6632b8cdeaddda831f8
Author: Hans Goudey
Date: Tue Aug 30 23:41:33 2022 -0500
Branches: refactor-mesh-uv-map-generic
https://developer.blender.org/rBe7b6cc74f6405dc701b2a6632b8cdeaddda831f8
Merge branch 'master' into refactor-mesh-uv-map-generic
===================================================================
===================================================================
diff --cc source/blender/blenkernel/intern/customdata.cc
index ede6a02a151,447921b6d84..00274b7c5bb
--- a/source/blender/blenkernel/intern/customdata.cc
+++ b/source/blender/blenkernel/intern/customdata.cc
@@@ -1931,13 -2035,12 +1958,14 @@@ static const LayerTypeInfo LAYERTYPEINF
layerInterp_propfloat2,
nullptr,
nullptr,
+ nullptr,
layerValidate_propfloat2,
- nullptr,
+ layerEqual_propfloat2,
layerMultiply_propfloat2,
- nullptr,
- layerAdd_propfloat2},
+ layerInitMinMax_propfloat2,
+ layerAdd_propfloat2,
+ layerDoMinMax_propfloat2,
+ layerCopyValue_propfloat2},
/* 50: CD_PROP_BOOL */
{sizeof(bool),
"bool",
diff --cc source/blender/blenkernel/intern/mesh_convert.cc
index 2de966d9931,cb72e09af16..6c1ae6a9c7a
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@@ -194,8 -194,8 +194,8 @@@ static Mesh *mesh_nurbs_displist_to_mes
MEdge *medge = edges.data();
MPoly *mpoly = polys.data();
MLoop *mloop = loops.data();
- MLoopUV *mloopuv = static_cast<MLoopUV *>(CustomData_add_layer_named(
- &mesh->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, mesh->totloop, "UVMap"));
+ blender::float2 *mloopuv = static_cast<blender::float2 *>(CustomData_add_layer_named(
- &mesh->ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, mesh->totloop, "UVMap"));
++ &mesh->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, mesh->totloop, "UVMap"));
/* verts and faces */
vertcount = 0;
diff --cc source/blender/blenkernel/intern/mesh_legacy_convert.cc
index 1830e00479d,45cbf3aa28b..170489e9d9f
--- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc
@@@ -139,7 -137,7 +139,7 @@@ static void CustomData_to_bmeshpoly(Cus
for (int i = 0; i < fdata->totlayer; i++) {
if (fdata->layers[i].type == CD_MTFACE) {
CustomData_add_layer_named(
- ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, totloop, fdata->layers[i].name);
- ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, totloop, fdata->layers[i].name);
++ ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, totloop, fdata->layers[i].name);
}
else if (fdata->layers[i].type == CD_MCOL) {
CustomData_add_layer_named(
@@@ -850,12 -847,13 +850,13 @@@ void BKE_mesh_add_mface_layers(CustomDa
BLI_assert(!check_matching_legacy_layer_counts(fdata, ldata, false));
for (int i = 0; i < ldata->totlayer; i++) {
- if (ldata->layers[i].type == CD_MLOOPUV) {
+ if (ldata->layers[i].type == CD_PROP_FLOAT2) {
CustomData_add_layer_named(
- fdata, CD_MTFACE, CD_CALLOC, nullptr, total, ldata->layers[i].name);
+ fdata, CD_MTFACE, CD_SET_DEFAULT, nullptr, total, ldata->layers[i].name);
}
if (ldata->layers[i].type == CD_PROP_BYTE_COLOR) {
- CustomData_add_layer_named(fdata, CD_MCOL, CD_CALLOC, nullptr, total, ldata->layers[i].name);
+ CustomData_add_layer_named(
+ fdata, CD_MCOL, CD_SET_DEFAULT, nullptr, total, ldata->layers[i].name);
}
else if (ldata->layers[i].type == CD_PREVIEW_MLOOPCOL) {
CustomData_add_layer_named(
diff --cc source/blender/blenkernel/intern/mesh_tangent.c
index 71713ccac31,497f9ff3cbd..e5c54bc95d2
--- a/source/blender/blenkernel/intern/mesh_tangent.c
+++ b/source/blender/blenkernel/intern/mesh_tangent.c
@@@ -450,8 -451,9 +450,9 @@@ void BKE_mesh_add_loop_tangent_named_la
const char *layer_name)
{
if (CustomData_get_named_layer_index(tan_data, CD_TANGENT, layer_name) == -1 &&
- CustomData_get_named_layer_index(uv_data, CD_MLOOPUV, layer_name) != -1) {
+ CustomData_get_named_layer_index(uv_data, CD_PROP_FLOAT2, layer_name) != -1) {
- CustomData_add_layer_named(tan_data, CD_TANGENT, CD_CALLOC, NULL, numLoopData, layer_name);
+ CustomData_add_layer_named(
+ tan_data, CD_TANGENT, CD_SET_DEFAULT, NULL, numLoopData, layer_name);
}
}
diff --cc source/blender/editors/geometry/geometry_attributes.cc
index 4a9a94bb37b,2dcb7aa438f..52ceaf7924e
--- a/source/blender/editors/geometry/geometry_attributes.cc
+++ b/source/blender/editors/geometry/geometry_attributes.cc
@@@ -304,9 -305,22 +304,9 @@@ static int geometry_attribute_convert_e
void *new_data = MEM_malloc_arrayN(src_varray.size(), cpp_type.size(), __func__);
src_varray.materialize_to_uninitialized(new_data);
attributes.remove(name);
- attributes.add(name, dst_domain, dst_type, blender::bke::AttributeInitMove(new_data));
+ attributes.add(name, dst_domain, dst_type, blender::bke::AttributeInitMoveArray(new_data));
break;
}
- case ConvertAttributeMode::UVMap: {
- MLoopUV *dst_uvs = static_cast<MLoopUV *>(
- MEM_calloc_arrayN(mesh->totloop, sizeof(MLoopUV), __func__));
- VArray<float2> src_varray = attributes.lookup_or_default<float2>(
- name, ATTR_DOMAIN_CORNER, {0.0f, 0.0f});
- for (const int i : IndexRange(mesh->totloop)) {
- copy_v2_v2(dst_uvs[i].uv, src_varray[i]);
- }
- attributes.remove(name);
- CustomData_add_layer_named(
- &mesh->ldata, CD_MLOOPUV, CD_ASSIGN, dst_uvs, mesh->totloop, name.c_str());
- break;
- }
case ConvertAttributeMode::VertexGroup: {
Array<float> src_weights(mesh->totvert);
VArray<float> src_varray = attributes.lookup_or_default<float>(
diff --cc source/blender/editors/mesh/mesh_data.cc
index cf42633dae9,e394f8a7251..f80d6cda928
--- a/source/blender/editors/mesh/mesh_data.cc
+++ b/source/blender/editors/mesh/mesh_data.cc
@@@ -265,7 -287,7 +265,7 @@@ int ED_mesh_uv_add
}
else {
CustomData_add_layer_named(
- &me->ldata, CD_PROP_FLOAT2, CD_DEFAULT, nullptr, me->totloop, name);
- &me->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, me->totloop, name);
++ &me->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, me->totloop, name);
}
if (active_set || layernum_dst == 0) {
diff --cc source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 65fc259a352,3df0d723aec..32312377ec1
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@@ -594,15 -594,15 +595,15 @@@ void BlenderStrokeRenderer::GenerateStr
if (hasTex) {
// First UV layer
CustomData_add_layer_named(
- &mesh->ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, mesh->totloop, uvNames[0]);
- &mesh->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[0]);
- CustomData_set_layer_active(&mesh->ldata, CD_MLOOPUV, 0);
++ &mesh->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[0]);
+ CustomData_set_layer_active(&mesh->ldata, CD_PROP_FLOAT2, 0);
BKE_mesh_update_customdata_pointers(mesh, true);
loopsuv[0] = mesh->mloopuv;
// Second UV layer
CustomData_add_layer_named(
- &mesh->ldata, CD_PROP_FLOAT2, CD_CALLOC, nullptr, mesh->totloop, uvNames[1]);
- &mesh->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[1]);
- CustomData_set_layer_active(&mesh->ldata, CD_MLOOPUV, 1);
++ &mesh->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, mesh->totloop, uvNames[1]);
+ CustomData_set_layer_active(&mesh->ldata, CD_PROP_FLOAT2, 1);
BKE_mesh_update_customdata_pointers(mesh, true);
loopsuv[1] = mesh->mloopuv;
}
diff --cc source/blender/gpu/intern/gpu_buffers.c
index a1d9614e61f,951a7102716..d7561fc6c7e
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@@ -1372,15 -1372,15 +1372,15 @@@ bool GPU_pbvh_attribute_names_update(PB
&vbo_id->format, "fset", GPU_COMP_U8, 3, GPU_FETCH_INT_TO_FLOAT_UNIT);
vbo_id->totuv = 0;
- if (pbvh_type == PBVH_FACES && ldata && CustomData_has_layer(ldata, CD_MLOOPUV)) {
+ if (pbvh_type == PBVH_FACES && ldata && CustomData_has_layer(ldata, CD_PROP_FLOAT2)) {
GPUAttrRef uv_layers[MAX_GPU_ATTR];
- CustomDataLayer *active = NULL, *render = NULL;
+ const CustomDataLayer *active = NULL, *render = NULL;
- active = get_active_layer(ldata, CD_MLOOPUV);
- render = get_render_layer(ldata, CD_MLOOPUV);
+ active = get_active_layer(ldata, CD_PROP_FLOAT2);
+ render = get_render_layer(ldata, CD_PROP_FLOAT2);
int totlayer = gpu_pbvh_make_attr_offs(ATTR_DOMAIN_MASK_CORNER,
- CD_MASK_MLOOPUV,
+ CD_MASK_PROP_FLOAT2,
NULL,
NULL,
ldata,
@@@ -1400,9 -1400,8 +1400,9 @@@
vbo_id->uv[i] = GPU_vertformat_attr_add(
&vbo_id->format, "uvs", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
- CustomDataLayer *cl = ldata->layers + ref->layer_idx;
+ const CustomDataLayer *cl = ldata->layers + ref->layer_idx;
- bool is_active = ref->layer_idx == CustomData_get_active_layer_index(ldata, CD_MLOOPUV);
+ bool is_active = ref->layer_idx ==
+ CustomData_get_active_layer_index(ldata, CD_PROP_FLOAT2);
DRW_cdlayer_attr_aliases_add(&vbo_id->format, "u", ldata, cl, cl == render, is_active);
diff --cc source/blender/io/collada/MeshImporter.cpp
index 905688acdf5,34792fd6bb4..b2a23642368
--- a/source/blender/io/collada/MeshImporter.cpp
+++ b/source/blender/io/collada/MeshImporter.cpp
@@@ -468,10 -469,10 +469,10 @@@ void MeshImporter::allocate_poly_data(C
COLLADAFW::String &uvname = info->mName;
/* Allocate space for UV_data */
CustomData_add_layer_named(
- &me->ldata, CD_PROP_FLOAT2, CD_DEFAULT, nullptr, me->totloop, uvname.c_str());
- &me->ldata, CD_MLOOPUV, CD_SET_DEFAULT, nullptr, me->totloop, uvname.c_str());
++ &me->ldata, CD_PROP_FLOAT2, CD_SET_DEFAULT, nullptr, me->totloop,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list