Files
PhotonMF/figure.hpp

32 lines
470 B
C++
Raw Normal View History

2016-12-25 21:47:28 -04:00
#pragma once
#ifndef FIGURE_HPP
#define FIGURE_HPP
#include <glm/vec3.hpp>
#include "ray.hpp"
2016-12-26 15:41:29 -04:00
using glm::vec3;
2016-12-25 21:47:28 -04:00
class Figure {
public:
vec3 color;
2016-12-27 19:22:34 -04:00
float rho;
2016-12-25 21:47:28 -04:00
virtual ~Figure() { }
2016-12-26 19:14:21 -04:00
virtual bool intersect(Ray & r, float & t) const = 0;
virtual vec3 normal_at_int(Ray & r, float & t) const = 0;
2016-12-25 21:47:28 -04:00
virtual void set_color(float r, float g, float b) {
color = vec3(r, g, b);
}
virtual void set_color(vec3 rgb) {
color = vec3(rgb);
}
};
#endif