diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2016-12-28 12:05:28 +0300 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2016-12-28 12:09:35 +0300 |
commit | 7f262acb92e5873f3c6fd63520bcec60f8e220dc (patch) | |
tree | 451d8512b89cdb8a15bdf9495d0130d69f4755d7 /source/blender/freestyle/intern/geometry | |
parent | 6559ab2d511b1c0c1845342133505139166da4b3 (diff) |
Fix T49479: Freestyle inconsistent line drawing with large geometry dimension.
Ray-plane intersection routine GeomUtils::intersectRayPlane() was used with an
unnormalized direction vector as input.
Diffstat (limited to 'source/blender/freestyle/intern/geometry')
-rw-r--r-- | source/blender/freestyle/intern/geometry/GeomUtils.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/geometry/GeomUtils.cpp b/source/blender/freestyle/intern/geometry/GeomUtils.cpp index 3eb92c559fe..cd7c1b83a4e 100644 --- a/source/blender/freestyle/intern/geometry/GeomUtils.cpp +++ b/source/blender/freestyle/intern/geometry/GeomUtils.cpp @@ -470,6 +470,8 @@ bool intersectRayTriangle(const Vec3r& orig, const Vec3r& dir, const Vec3r& v0, } // Intersection between plane and ray, adapted from Graphics Gems, Didier Badouel +// The plane is represented by a set of points P implicitly defined as dot(norm, P) + d = 0. +// The ray is represented as r(t) = orig + dir * t. intersection_test intersectRayPlane(const Vec3r& orig, const Vec3r& dir, const Vec3r& norm, const real d, real& t, const real epsilon) { |