aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/PathOpsCubicIntersectionTest.cpp
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-04-13 14:26:00 -0600
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-14 15:14:11 +0000
commit4343654bc4a93812cba168a665deef0de2ebcfdd (patch)
treebee82de71d4671febf21ba1c13c2f312cbd2f8de /tests/PathOpsCubicIntersectionTest.cpp
parent028c3d77ea0e49982e92c6c9614cf59d687f4370 (diff)
Improve accuracy of cubic classification
- Updates the logic to reflect the Loop-Blinn paper instead of the GPU gems website. - Removes the threshold for detecting local cusps. The serpentine codepath works for these cusps anyway, so what we really want to know is whether the discriminant is negative. - Makes sure to not scale the inflection function by 1/0. - Shifts the inflection function coefficients in d[] so they match the paper. - Stores the cubic discriminant in d[0]. Bug: skia: Change-Id: I909a522a0fd27c9c8dfbc27d968bc43eeb7a416f Reviewed-on: https://skia-review.googlesource.com/13304 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'tests/PathOpsCubicIntersectionTest.cpp')
-rw-r--r--tests/PathOpsCubicIntersectionTest.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/PathOpsCubicIntersectionTest.cpp b/tests/PathOpsCubicIntersectionTest.cpp
index 638ecb008c..66becf304a 100644
--- a/tests/PathOpsCubicIntersectionTest.cpp
+++ b/tests/PathOpsCubicIntersectionTest.cpp
@@ -646,11 +646,11 @@ static void selfOneOff(skiatest::Reporter* reporter, int index) {
c[i] = cubic.fPts[i].asSkPoint();
}
SkScalar loopT[3];
- SkScalar d[3];
+ SkScalar d[4];
SkCubicType cubicType = SkClassifyCubic(c, d);
int breaks = SkDCubic::ComplexBreak(c, loopT);
SkASSERT(breaks < 2);
- if (breaks && cubicType == SkCubicType::kLoop_SkCubicType) {
+ if (breaks && cubicType == SkCubicType::kLoop) {
SkIntersections i;
SkPoint twoCubics[7];
SkChopCubicAt(c, twoCubics, loopT[0]);