diff options
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp | 27 |
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 |