Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-09-12 01:36:06 +0300
committerHans Goudey <h.goudey@me.com>2022-09-12 01:36:06 +0300
commit0aeb1f0c5bb95be426d96a5ad9924610d909899d (patch)
tree7662d28b86f0de0894e48f2aa9ece429424c1a0b /source/blender/render/intern
parent789297ecb91002aa7c4e7c59a8a6c4fd2b80c462 (diff)
Start converting mesh positions to a generic attribute
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r--source/blender/render/intern/bake.c4
-rw-r--r--source/blender/render/intern/multires_bake.c15
-rw-r--r--source/blender/render/intern/texture_margin.cc2
-rw-r--r--source/blender/render/intern/texture_pointdensity.c2
4 files changed, 11 insertions, 12 deletions
diff --git a/source/blender/render/intern/bake.c b/source/blender/render/intern/bake.c
index c383d13e4e1..5031cb6bdea 100644
--- a/source/blender/render/intern/bake.c
+++ b/source/blender/render/intern/bake.c
@@ -459,7 +459,7 @@ static TriTessFace *mesh_calc_tri_tessface(Mesh *me, bool tangent, Mesh *me_eval
unsigned int mpoly_prev = UINT_MAX;
float no[3];
- const MVert *verts = BKE_mesh_verts(me);
+ const MVert *verts = BKE_mesh_positions(me);
const MPoly *polys = BKE_mesh_polys(me);
const MLoop *loops = BKE_mesh_loops(me);
@@ -741,7 +741,7 @@ void RE_bake_pixels_populate(Mesh *me,
const int tottri = poly_to_tri_count(me->totpoly, me->totloop);
MLoopTri *looptri = MEM_mallocN(sizeof(*looptri) * tottri, __func__);
- const MVert *verts = BKE_mesh_verts(me);
+ const MVert *verts = BKE_mesh_positions(me);
const MPoly *polys = BKE_mesh_polys(me);
const MLoop *loops = BKE_mesh_loops(me);
BKE_mesh_recalc_looptri(loops, polys, verts, me->totloop, me->totpoly, looptri);
diff --git a/source/blender/render/intern/multires_bake.c b/source/blender/render/intern/multires_bake.c
index 79eddd20bdf..96a59d22869 100644
--- a/source/blender/render/intern/multires_bake.c
+++ b/source/blender/render/intern/multires_bake.c
@@ -60,7 +60,7 @@ typedef struct MultiresBakeResult {
} MultiresBakeResult;
typedef struct {
- MVert *mvert;
+ const float (*positions)[3];
const float (*vert_normals)[3];
MPoly *mpoly;
const int *material_indices;
@@ -125,7 +125,7 @@ static void multiresbake_get_normal(const MResolvePixelData *data,
copy_v3_v3(r_normal, data->precomputed_normals[poly_index]);
}
else {
- BKE_mesh_calc_poly_normal(mp, &data->mloop[mp->loopstart], data->mvert, r_normal);
+ BKE_mesh_calc_poly_normal(mp, &data->mloop[mp->loopstart], data->positions, r_normal);
}
}
}
@@ -472,7 +472,7 @@ static void do_multires_bake(MultiresBakeRender *bkr,
MultiresBakeThread *handles;
MultiresBakeQueue queue;
- MVert *mvert = dm->getVertArray(dm);
+ const float(*positions)[3] = dm->getVertArray(dm);
MPoly *mpoly = dm->getPolyArray(dm);
MLoop *mloop = dm->getLoopArray(dm);
MLoopUV *mloopuv = dm->getLoopDataArray(dm, CD_MLOOPUV);
@@ -485,9 +485,9 @@ static void do_multires_bake(MultiresBakeRender *bkr,
Mesh *temp_mesh = BKE_mesh_new_nomain(
dm->getNumVerts(dm), dm->getNumEdges(dm), 0, dm->getNumLoops(dm), dm->getNumPolys(dm));
- memcpy(BKE_mesh_verts_for_write(temp_mesh),
+ memcpy(BKE_mesh_positions_for_write(temp_mesh),
dm->getVertArray(dm),
- temp_mesh->totvert * sizeof(MVert));
+ temp_mesh->totvert * sizeof(float[3]));
memcpy(BKE_mesh_edges_for_write(temp_mesh),
dm->getEdgeArray(dm),
temp_mesh->totedge * sizeof(MEdge));
@@ -555,7 +555,7 @@ static void do_multires_bake(MultiresBakeRender *bkr,
handle->data.mpoly = mpoly;
handle->data.material_indices = CustomData_get_layer_named(
&dm->polyData, CD_PROP_INT32, "material_index");
- handle->data.mvert = mvert;
+ handle->data.positions = positions;
handle->data.vert_normals = vert_normals;
handle->data.mloopuv = mloopuv;
BKE_image_get_tile_uv(ima, tile->tile_number, handle->data.uv_offset);
@@ -674,8 +674,7 @@ static void get_ccgdm_data(DerivedMesh *lodm,
mpoly = lodm->getPolyArray(lodm) + poly_index;
g_index = grid_offset[poly_index];
- S = mdisp_rot_face_to_crn(lodm->getVertArray(lodm),
- mpoly,
+ S = mdisp_rot_face_to_crn(mpoly,
lodm->getLoopArray(lodm),
lt,
face_side,
diff --git a/source/blender/render/intern/texture_margin.cc b/source/blender/render/intern/texture_margin.cc
index 66ab7ba6e2e..e2a36edd6d5 100644
--- a/source/blender/render/intern/texture_margin.cc
+++ b/source/blender/render/intern/texture_margin.cc
@@ -520,7 +520,7 @@ static void generate_margin(ImBuf *ibuf,
tottri = poly_to_tri_count(me->totpoly, me->totloop);
looptri_mem = static_cast<MLoopTri *>(MEM_mallocN(sizeof(*looptri) * tottri, __func__));
BKE_mesh_recalc_looptri(
- mloop, mpoly, me->verts().data(), me->totloop, me->totpoly, looptri_mem);
+ mloop, mpoly, me->positions().data(), me->totloop, me->totpoly, looptri_mem);
looptri = looptri_mem;
}
else {
diff --git a/source/blender/render/intern/texture_pointdensity.c b/source/blender/render/intern/texture_pointdensity.c
index 2a2b62be1f0..0ec716fb3a3 100644
--- a/source/blender/render/intern/texture_pointdensity.c
+++ b/source/blender/render/intern/texture_pointdensity.c
@@ -380,7 +380,7 @@ static void pointdensity_cache_object(PointDensity *pd, Object *ob)
}
#endif
- mvert = BKE_mesh_verts(mesh); /* local object space */
+ mvert = BKE_mesh_positions(mesh); /* local object space */
pd->totpoints = mesh->totvert;
if (pd->totpoints == 0) {
return;