diff options
author | Hans Goudey <h.goudey@me.com> | 2022-09-14 08:15:31 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-09-14 08:15:31 +0300 |
commit | b9f9800c66472a811dd687195f76602852e41403 (patch) | |
tree | 6dc106e8e6de7b573158a55f9ae7435e1e0578cf /source/blender/render/intern | |
parent | c25890dc02ec8e8437058274516d7ca61d594922 (diff) |
Compiles, runs in basic situations
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/bake.c | 6 | ||||
-rw-r--r-- | source/blender/render/intern/multires_bake.c | 9 | ||||
-rw-r--r-- | source/blender/render/intern/texture_margin.cc | 8 |
3 files changed, 13 insertions, 10 deletions
diff --git a/source/blender/render/intern/bake.c b/source/blender/render/intern/bake.c index 3d7865f5651..c49481495a8 100644 --- a/source/blender/render/intern/bake.c +++ b/source/blender/render/intern/bake.c @@ -497,9 +497,9 @@ static TriTessFace *mesh_calc_tri_tessface(Mesh *me, bool tangent, Mesh *me_eval const MLoopTri *lt = &looptri[i]; const MPoly *mp = &polys[lt->poly]; - triangles[i].positions[0] = &positions[loops[lt->tri[0]].v]; - triangles[i].positions[1] = &positions[loops[lt->tri[1]].v]; - triangles[i].positions[2] = &positions[loops[lt->tri[2]].v]; + triangles[i].positions[0] = positions[loops[lt->tri[0]].v]; + triangles[i].positions[1] = positions[loops[lt->tri[1]].v]; + triangles[i].positions[2] = positions[loops[lt->tri[2]].v]; triangles[i].vert_normals[0] = vert_normals[loops[lt->tri[0]].v]; triangles[i].vert_normals[1] = vert_normals[loops[lt->tri[1]].v]; triangles[i].vert_normals[2] = vert_normals[loops[lt->tri[2]].v]; diff --git a/source/blender/render/intern/multires_bake.c b/source/blender/render/intern/multires_bake.c index 96a59d22869..e1d6b3dfd50 100644 --- a/source/blender/render/intern/multires_bake.c +++ b/source/blender/render/intern/multires_bake.c @@ -472,7 +472,7 @@ static void do_multires_bake(MultiresBakeRender *bkr, MultiresBakeThread *handles; MultiresBakeQueue queue; - const float(*positions)[3] = dm->getVertArray(dm); + const float(*positions)[3] = (float(*)[3])dm->getVertArray(dm); MPoly *mpoly = dm->getPolyArray(dm); MLoop *mloop = dm->getLoopArray(dm); MLoopUV *mloopuv = dm->getLoopDataArray(dm, CD_MLOOPUV); @@ -485,9 +485,8 @@ 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_positions_for_write(temp_mesh), - dm->getVertArray(dm), - temp_mesh->totvert * sizeof(float[3])); + memcpy( + BKE_mesh_positions_for_write(temp_mesh), positions, temp_mesh->totvert * sizeof(float[3])); memcpy(BKE_mesh_edges_for_write(temp_mesh), dm->getEdgeArray(dm), temp_mesh->totedge * sizeof(MEdge)); @@ -503,7 +502,7 @@ static void do_multires_bake(MultiresBakeRender *bkr, if (require_tangent) { if (CustomData_get_layer_index(&dm->loopData, CD_TANGENT) == -1) { BKE_mesh_calc_loop_tangent_ex( - dm->getVertArray(dm), + positions, dm->getPolyArray(dm), dm->getNumPolys(dm), dm->getLoopArray(dm), diff --git a/source/blender/render/intern/texture_margin.cc b/source/blender/render/intern/texture_margin.cc index e2a36edd6d5..6d8e08e391a 100644 --- a/source/blender/render/intern/texture_margin.cc +++ b/source/blender/render/intern/texture_margin.cc @@ -519,8 +519,12 @@ 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->positions().data(), me->totloop, me->totpoly, looptri_mem); + BKE_mesh_recalc_looptri(mloop, + mpoly, + reinterpret_cast<const float(*)[3]>(me->positions().data()), + me->totloop, + me->totpoly, + looptri_mem); looptri = looptri_mem; } else { |