World is on the verge of working!

This commit is contained in:
Godzil
2020-02-20 01:41:53 +00:00
parent be6b472472
commit 999419dfe1
6 changed files with 170 additions and 0 deletions

View File

@@ -10,9 +10,23 @@
#define DORAYME_INTERSECTION_H
#include <stdlib.h>
#include <ray.h>
class Shape;
struct Computation
{
Computation(Shape *object, double t, Tuple point, Tuple eyev, Tuple normalv, bool inside) :
object(object), t(t), hitPoint(point), eyeVector(eyev), normalVector(normalv), inside(inside) { };
Shape *object;
double t;
Tuple hitPoint;
Tuple eyeVector;
Tuple normalVector;
bool inside;
};
class Intersection
{
public:
@@ -23,6 +37,8 @@ public:
Intersection(double t, Shape *object) : t(t), object(object) { };
bool nothing() { return (this->object == nullptr); };
Computation prepareComputation(Ray r);
bool operator==(const Intersection &b) const { return ((this->t == b.t) && (this->object == b.object)); };
};

View File

@@ -39,6 +39,11 @@ public:
bool lightIsIn(Light &l);
bool objectIsIn(Shape &s);
Shape *getObject(int i) { return this->objectList[i]; };
Tuple shadeHit(Computation comps);;
Tuple colourAt(Ray r);
Intersect intersect(Ray r);
};