finish global illumination

This commit is contained in:
Shuo Feng 2024-03-20 23:37:20 -04:00
parent e59c6dbea4
commit a63aedc323
Signed by: sfeng
GPG key ID: 1E83AE6CD1C037B1
5 changed files with 41 additions and 20 deletions

View file

@ -20,6 +20,7 @@ public:
virtual ~Geometry() = default;
virtual Optional<float> intersect(const Ray &) const = 0;
virtual Vector3f normal(const Vector3f &) const = 0;
virtual Vector3f sample() const = 0;
protected:
Geometry(Type type, float ka, float kd, float ks, const Vector3f &ca,
@ -54,6 +55,7 @@ public:
Optional<float> intersect(const Ray &) const override;
Vector3f normal(const Vector3f &) const override;
Vector3f sample() const override;
private:
float radius;
@ -70,6 +72,7 @@ public:
Optional<float> intersect(const Ray &) const override;
Vector3f normal(const Vector3f &) const override;
Vector3f sample() const override;
private:
Vector3f p1, p2, p3, p4;