diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-04-20 11:56:53 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-04-20 11:56:53 +0300 |
commit | 09bf8f4a69603ad4faefc2c5777a3b485680ad3a (patch) | |
tree | 1495bc09711ae4a2832db7727599b97ab70c280e /source/blender/blenkernel | |
parent | d8bf0900902b2b523bb50a69b9c669c7d5797d72 (diff) |
Use reflect for calculating second normal
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/curve_render.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/curve_render.c b/source/blender/blenkernel/intern/curve_render.c index d2ca9ab7729..dbeb5351dc9 100644 --- a/source/blender/blenkernel/intern/curve_render.c +++ b/source/blender/blenkernel/intern/curve_render.c @@ -560,18 +560,15 @@ static VertexBuffer *curve_batch_cache_get_normal_verts(CurveRenderData *rdata, vec_a[1] = 0.0f; vec_a[2] = 0.0f; - vec_b[0] = -fac; - vec_b[1] = 0.0f; - vec_b[2] = 0.0f; - mul_qt_v3(bevp->quat, vec_a); - mul_qt_v3(bevp->quat, vec_b); + madd_v3_v3fl(vec_a, bevp->dir, -fac); + + reflect_v3_v3v3(vec_b, vec_a, bevp->dir); + negate_v3(vec_b); + add_v3_v3(vec_a, bevp->vec); add_v3_v3(vec_b, bevp->vec); - madd_v3_v3fl(vec_a, bevp->dir, -fac); - madd_v3_v3fl(vec_b, bevp->dir, -fac); - VertexBuffer_set_attrib(vbo, pos_id, vbo_len_used++, vec_a); VertexBuffer_set_attrib(vbo, pos_id, vbo_len_used++, bevp->vec); VertexBuffer_set_attrib(vbo, pos_id, vbo_len_used++, vec_b); |