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:
Diffstat (limited to 'source/blender/render/intern/texture_pointdensity.c')
-rw-r--r--source/blender/render/intern/texture_pointdensity.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/source/blender/render/intern/texture_pointdensity.c b/source/blender/render/intern/texture_pointdensity.c
index 8ca1decdea7..683260f86cb 100644
--- a/source/blender/render/intern/texture_pointdensity.c
+++ b/source/blender/render/intern/texture_pointdensity.c
@@ -47,6 +47,7 @@
#include "BKE_customdata.h"
#include "BKE_deform.h"
#include "BKE_lattice.h"
+#include "BKE_mesh.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "BKE_scene.h"
@@ -368,19 +369,11 @@ static void pointdensity_cache_vertex_weight(PointDensity *pd,
}
}
-static void pointdensity_cache_vertex_normal(PointDensity *pd,
- Object *UNUSED(ob),
- Mesh *mesh,
- float *data_color)
+static void pointdensity_cache_vertex_normal(Mesh *mesh, float *data_color)
{
- MVert *mvert = mesh->mvert, *mv;
- int i;
-
BLI_assert(data_color);
-
- for (i = 0, mv = mvert; i < pd->totpoints; i++, mv++, data_color += 3) {
- normal_short_to_float_v3(data_color, mv->no);
- }
+ const float(*vert_normals)[3] = BKE_mesh_vertex_normals_ensure(mesh);
+ memcpy(data_color, vert_normals, sizeof(float[3]) * mesh->totvert);
}
static void pointdensity_cache_object(PointDensity *pd, Object *ob)
@@ -442,7 +435,7 @@ static void pointdensity_cache_object(PointDensity *pd, Object *ob)
pointdensity_cache_vertex_weight(pd, ob, mesh, data_color);
break;
case TEX_PD_COLOR_VERTNOR:
- pointdensity_cache_vertex_normal(pd, ob, mesh, data_color);
+ pointdensity_cache_vertex_normal(mesh, data_color);
break;
}