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/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp')
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 64e7be5169c..ee3731ca07c 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -55,6 +55,8 @@
#include <climits>
+using blender::float3;
+
namespace Freestyle {
const char *BlenderStrokeRenderer::uvNames[] = {"along_stroke", "along_stroke_tips"};
@@ -577,8 +579,8 @@ void BlenderStrokeRenderer::GenerateStrokeMesh(StrokeGroup *group, bool hasTex)
mesh->totloop = group->totloop;
mesh->totcol = group->materials.size();
- MVert *verts = (MVert *)CustomData_add_layer(
- &mesh->vdata, CD_MVERT, CD_SET_DEFAULT, nullptr, mesh->totvert);
+ float3 *mesh_positions = (float3 *)CustomData_add_layer_named(
+ &mesh->vdata, CD_PROP_FLOAT3, CD_SET_DEFAULT, nullptr, mesh->totvert, "position");
MEdge *edges = (MEdge *)CustomData_add_layer(
&mesh->edata, CD_MEDGE, CD_SET_DEFAULT, nullptr, mesh->totedge);
MPoly *polys = (MPoly *)CustomData_add_layer(
@@ -664,19 +666,17 @@ void BlenderStrokeRenderer::GenerateStrokeMesh(StrokeGroup *group, bool hasTex)
else {
if (!visible) {
// first vertex
- verts->co[0] = svRep[0]->point2d()[0];
- verts->co[1] = svRep[0]->point2d()[1];
- verts->co[2] = get_stroke_vertex_z();
+ mesh_positions[vertex_index][0] = svRep[0]->point2d()[0];
+ mesh_positions[vertex_index][1] = svRep[0]->point2d()[1];
+ mesh_positions[vertex_index][2] = get_stroke_vertex_z();
- ++verts;
++vertex_index;
// second vertex
- verts->co[0] = svRep[1]->point2d()[0];
- verts->co[1] = svRep[1]->point2d()[1];
- verts->co[2] = get_stroke_vertex_z();
+ mesh_positions[vertex_index][0] = svRep[1]->point2d()[0];
+ mesh_positions[vertex_index][1] = svRep[1]->point2d()[1];
+ mesh_positions[vertex_index][2] = get_stroke_vertex_z();
- ++verts;
++vertex_index;
// first edge
@@ -688,10 +688,9 @@ void BlenderStrokeRenderer::GenerateStrokeMesh(StrokeGroup *group, bool hasTex)
visible = true;
// vertex
- verts->co[0] = svRep[2]->point2d()[0];
- verts->co[1] = svRep[2]->point2d()[1];
- verts->co[2] = get_stroke_vertex_z();
- ++verts;
+ mesh_positions[vertex_index][0] = svRep[2]->point2d()[0];
+ mesh_positions[vertex_index][1] = svRep[2]->point2d()[1];
+ mesh_positions[vertex_index][2] = get_stroke_vertex_z();
++vertex_index;
// edges