Huge speed up by changing how Intersect are shared.

This commit is contained in:
Godzil
2020-03-12 00:11:26 +00:00
parent 0aa949c60b
commit b00bb75189
38 changed files with 116 additions and 153 deletions

View File

@@ -44,7 +44,7 @@ TEST(TriangleTest, Intersecting_a_ray_parallel_to_the_triangle)
Triangle t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0));
Ray r = Ray(Point(0, -1, -2), Vector(0, 1, 0));
Intersect xs = t.intersect(r);
Intersect xs; t.intersect(r, xs);
ASSERT_EQ(xs.count(), 0);
}
@@ -54,7 +54,7 @@ TEST(TriangleTest, A_ray_miss_the_p1_p3_edge)
Triangle t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0));
Ray r = Ray(Point(1, 1, -2), Vector(0, 0, 1));
Intersect xs = t.intersect(r);
Intersect xs; t.intersect(r, xs);
ASSERT_EQ(xs.count(), 0);
}
@@ -64,7 +64,7 @@ TEST(TriangleTest, A_ray_miss_the_p1_p2_edge)
Triangle t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0));
Ray r = Ray(Point(-1, 1, -2), Vector(0, 0, 1));
Intersect xs = t.intersect(r);
Intersect xs; t.intersect(r, xs);
ASSERT_EQ(xs.count(), 0);
}
@@ -74,7 +74,7 @@ TEST(TriangleTest, A_ray_miss_the_p2_p3_edge)
Triangle t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0));
Ray r = Ray(Point(0, -1, -2), Vector(0, 0, 1));
Intersect xs = t.intersect(r);
Intersect xs; t.intersect(r, xs);
ASSERT_EQ(xs.count(), 0);
}
@@ -84,7 +84,7 @@ TEST(TriangleTest, A_ray_strikes_a_triangle)
Triangle t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0));
Ray r = Ray(Point(0, .5, -2), Vector(0, 0, 1));
Intersect xs = t.intersect(r);
Intersect xs; t.intersect(r, xs);
ASSERT_EQ(xs.count(), 1);
EXPECT_EQ(xs[0].t, 2);