[ADD] add a skeleton of the group and refactor some test datas.

This commit is contained in:
NADAL Jean-Baptiste
2024-03-22 11:59:00 +01:00
parent b3490b146e
commit f05603cb29
15 changed files with 403 additions and 131 deletions

View File

@@ -29,30 +29,12 @@
#include "raytracing.h"
#include "common_data.h"
using namespace Raytracer;
/* ------------------------------------------------------------------------- */
class CubeTestIntersect
{
public:
Tuple origin;
Tuple direction;
double t1;
double t2;
};
/* ------------------------------------------------------------------------- */
class CubeTestNormal
{
public:
Tuple point;
Tuple normal;
};
/* ------------------------------------------------------------------------- */
SCENARIO("A Ray intersects a cube", "[features/cubes.feature]")
{
// | | origin | direction | t1 | t2 |
@@ -63,7 +45,7 @@ SCENARIO("A Ray intersects a cube", "[features/cubes.feature]")
// | +z | point(0.5, 0, 5) | vector( 0, 0,-1) | 4 | 6 |
// | -z | point(0.5, 0, -5) | vector( 0, 0, 1) | 4 | 6 |
// | inside | point(0, 0.5, 0) | vector( 0, 0, 1) | -1 | -1 |
CubeTestIntersect the_test[] = {
DataOrigDirT1T2 the_test[] = {
{ Tuple::Point(5.0, 0.5, 0.0), Tuple::Vector(-1, 0, 0), 4, 6},
{Tuple::Point(-5.0, 0.5, 0.0), Tuple::Vector(1, 0, 0), 4, 6},
{ Tuple::Point(0.5, 5.0, 0.0), Tuple::Vector(0, -1, 0), 4, 6},
@@ -113,7 +95,7 @@ SCENARIO("A Ray misses a cube", "[features/cubes.feature]")
// | point(2, 0, 2) | vector(0, 0, -1) |
// | point(0, 2, 2) | vector(0, -1, 0) |
// | point(2, 2, 0) | vector(-1, 0, 0) |
CubeTestIntersect the_test[] = {
DataOrigDirT1T2 the_test[] = {
{Tuple::Point(-2, 0, 0), Tuple::Vector(0.2673, 0.5345, 0.8018), -1, -1},
{ Tuple::Point(0, -2, 0), Tuple::Vector(0.8018, 0.2673, 0.5345), -1, -1},
{ Tuple::Point(0, 0, -2), Tuple::Vector(0.5345, 0.8018, 0.2673), -1, -1},
@@ -155,7 +137,7 @@ SCENARIO("The normal on the surface of a cube", "[features/cubes.feature]")
// | point(0.4, 0.4, -1) | vector(0, 0, -1) |
// | point(1, 1, -1) | vector(1, 0, 0) |
// | point(-1,-1, -1) | vector(-1, 0, 0) |
CubeTestNormal the_test[] = {
DataPointNormal the_test[] = {
{ Tuple::Point(1, 0.5, -0.8), Tuple::Vector(1, 0, 0)},
{ Tuple::Point(-1, -0.2, 0.9), Tuple::Vector(-1, 0, 0)},
{Tuple::Point(-0.4, 1, -0.1), Tuple::Vector(0, 1, 0)},