[Bf-blender-cvs] [a7e1815c03c] refactor-mesh-position-generic: Merge branch 'master' into refactor-mesh-position-generic

Hans Goudey noreply at git.blender.org
Fri Dec 30 14:41:42 CET 2022


Commit: a7e1815c03ce98eafca166862df86e01199d5ab5
Author: Hans Goudey
Date:   Fri Dec 30 08:31:19 2022 -0500
Branches: refactor-mesh-position-generic
https://developer.blender.org/rBa7e1815c03ce98eafca166862df86e01199d5ab5

Merge branch 'master' into refactor-mesh-position-generic

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/cloth.cc
index 2d8caf6b740,23bbaaf58b2..c1b6ccd853b
--- a/source/blender/blenkernel/intern/cloth.cc
+++ b/source/blender/blenkernel/intern/cloth.cc
@@@ -713,9 -713,8 +713,9 @@@ static float cloth_shrink_factor(ClothM
  }
  
  static bool cloth_from_object(
-     Object *ob, ClothModifierData *clmd, Mesh *mesh, float UNUSED(framenr), int first)
+     Object *ob, ClothModifierData *clmd, Mesh *mesh, float /*framenr*/, int first)
  {
 +  using namespace blender;
    int i = 0;
    ClothVertex *verts = nullptr;
    const float(*shapekey_rest)[3] = nullptr;
@@@ -1168,14 -1166,13 +1168,14 @@@ static void cloth_update_verts(Object *
  /* Write rest vert locations to a copy of the mesh. */
  static Mesh *cloth_make_rest_mesh(ClothModifierData *clmd, Mesh *mesh)
  {
 +  using namespace blender;
    Mesh *new_mesh = BKE_mesh_copy_for_eval(mesh, false);
    ClothVertex *verts = clmd->clothObject->verts;
 -  MVert *mvert = BKE_mesh_verts_for_write(new_mesh);
 +  MutableSpan<float3> positions = mesh->vert_positions_for_write();
  
    /* vertex count is already ensured to match */
-   for (int i = 0; i < mesh->totvert; i++, verts++) {
-     copy_v3_v3(positions[i], verts->xrest);
 -  for (uint i = 0; i < mesh->totvert; i++, verts++) {
 -    copy_v3_v3(mvert[i].co, verts->xrest);
++  for (const int i : positions.index_range()) {
++    positions[i] = verts[i].xrest;
    }
    BKE_mesh_tag_coords_changed(new_mesh);
  
diff --cc source/blender/gpu/intern/gpu_shader_builder_stubs.cc
index 550216102bb,ebb06ee55b9..30bd6267b17
--- a/source/blender/gpu/intern/gpu_shader_builder_stubs.cc
+++ b/source/blender/gpu/intern/gpu_shader_builder_stubs.cc
@@@ -151,10 -148,9 +148,10 @@@ bool paint_is_grid_face_hidden(const ui
   * \{ */
  void BKE_mesh_calc_poly_normal(const struct MPoly * /*mpoly*/,
                                 const struct MLoop * /*loopstart*/,
 -                               const struct MVert * /*mvarray*/,
 +                               const float (*positions)[3],
-                                float UNUSED(r_no[3]))
+                                float[3] /*col*/)
  {
 +  UNUSED_VARS(positions);
    BLI_assert_unreachable();
  }
  
diff --cc source/blender/makesdna/DNA_customdata_types.h
index a9002fb2f11,3bff2f4316c..4984869f826
--- a/source/blender/makesdna/DNA_customdata_types.h
+++ b/source/blender/makesdna/DNA_customdata_types.h
@@@ -88,11 -88,11 +88,11 @@@ typedef enum eCustomDataType 
     */
    CD_AUTO_FROM_NAME = -1,
  
 -  CD_MVERT = 0,
  #ifdef DNA_DEPRECATED_ALLOW
 +  CD_MVERT = 0,   /* DEPRECATED */
    CD_MSTICKY = 1, /* DEPRECATED */
  #endif
-   CD_MDEFORMVERT = 2,
+   CD_MDEFORMVERT = 2, /* Array of `MDeformVert`. */
    CD_MEDGE = 3,
    CD_MFACE = 4,
    CD_MTFACE = 5,
diff --cc source/blender/modifiers/intern/MOD_displace.cc
index f260766ddfc,db90242fd55..402752610eb
--- a/source/blender/modifiers/intern/MOD_displace.cc
+++ b/source/blender/modifiers/intern/MOD_displace.cc
@@@ -157,9 -155,10 +155,9 @@@ struct DisplaceUserdata 
    float (*tex_co)[3];
    float (*vertexCos)[3];
    float local_mat[4][4];
 -  MVert *mvert;
    const float (*vert_normals)[3];
    float (*vert_clnors)[3];
- } DisplaceUserdata;
+ };
  
  static void displaceModifier_do_task(void *__restrict userdata,
                                       const int iter,
diff --cc source/blender/render/intern/bake.cc
index 481e1f8d302,e88dbcc3778..8b598ceb6a0
--- a/source/blender/render/intern/bake.cc
+++ b/source/blender/render/intern/bake.cc
@@@ -86,13 -86,13 +86,13 @@@ struct BakeDataZSpan 
  /**
   * struct wrapping up tangent space data
   */
- typedef struct TSpace {
+ struct TSpace {
    float tangent[3];
    float sign;
- } TSpace;
+ };
  
- typedef struct TriTessFace {
+ struct TriTessFace {
 -  const MVert *mverts[3];
 +  const float *positions[3];
    const float *vert_normals[3];
    const TSpace *tspace[3];
    const float *loop_normal[3];
diff --cc source/blender/render/intern/multires_bake.cc
index 89e7ac0185e,155096d890c..09f8fcacc7a
--- a/source/blender/render/intern/multires_bake.cc
+++ b/source/blender/render/intern/multires_bake.cc
@@@ -40,27 -40,27 +40,27 @@@
  #include "IMB_imbuf.h"
  #include "IMB_imbuf_types.h"
  
- typedef void (*MPassKnownData)(DerivedMesh *lores_dm,
-                                DerivedMesh *hires_dm,
-                                void *thread_data,
-                                void *bake_data,
-                                ImBuf *ibuf,
-                                const int face_index,
-                                const int lvl,
-                                const float st[2],
-                                float tangmat[3][3],
-                                const int x,
-                                const int y);
- 
- typedef void *(*MInitBakeData)(MultiresBakeRender *bkr, ImBuf *ibuf);
- typedef void (*MFreeBakeData)(void *bake_data);
- 
- typedef struct MultiresBakeResult {
+ using MPassKnownData = void (*)(DerivedMesh *lores_dm,
+                                 DerivedMesh *hires_dm,
+                                 void *thread_data,
+                                 void *bake_data,
+                                 ImBuf *ibuf,
+                                 const int face_index,
+                                 const int lvl,
+                                 const float st[2],
+                                 float tangmat[3][3],
+                                 const int x,
+                                 const int y);
+ 
+ using MInitBakeData = void *(*)(MultiresBakeRender *bkr, ImBuf *ibuf);
+ using MFreeBakeData = void (*)(void *bake_data);
+ 
+ struct MultiresBakeResult {
    float height_min, height_max;
- } MultiresBakeResult;
+ };
  
- typedef struct {
+ struct MResolvePixelData {
 -  MVert *mvert;
 +  const float (*positions)[3];
    const float (*vert_normals)[3];
    MPoly *mpoly;
    const int *material_indices;
@@@ -485,8 -485,9 +485,9 @@@ static void do_multires_bake(MultiresBa
  
    Mesh *temp_mesh = BKE_mesh_new_nomain(
        dm->getNumVerts(dm), dm->getNumEdges(dm), 0, dm->getNumLoops(dm), dm->getNumPolys(dm));
-   memcpy(
-       temp_mesh->vert_positions_for_write().data(), positions, temp_mesh->totvert * sizeof(float[3]));
 -  memcpy(BKE_mesh_verts_for_write(temp_mesh),
 -         dm->getVertArray(dm),
 -         temp_mesh->totvert * sizeof(MVert));
++  memcpy(temp_mesh->vert_positions_for_write().data(),
++         positions,
++         temp_mesh->totvert * sizeof(float[3]));
    memcpy(BKE_mesh_edges_for_write(temp_mesh),
           dm->getEdgeArray(dm),
           temp_mesh->totedge * sizeof(MEdge));



More information about the Bf-blender-cvs mailing list