diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2020-12-20 14:49:20 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2020-12-20 14:49:20 +0100 |
| commit | 3935a609141623e7cfb3fa339da1a166e3917018 (patch) | |
| tree | ba8d6275b1f9947af92f9c887608f71f73e6609d /include | |
| parent | 2d8e108dd6811bcf55bed28f1855a36077f8c674 (diff) | |
Ray tracer renderer
Use ray for rendering
Setup basic rendering stuff camera / viewport
Diffstat (limited to 'include')
| -rw-r--r-- | include/color.hpp | 2 | ||||
| -rw-r--r-- | include/ray.hpp | 17 | ||||
| -rw-r--r-- | include/vec3.hpp | 18 |
3 files changed, 28 insertions, 9 deletions
diff --git a/include/color.hpp b/include/color.hpp index 3acdf35..f300e76 100644 --- a/include/color.hpp +++ b/include/color.hpp @@ -5,6 +5,6 @@ #include "vec3.hpp" -void write_color(std::ostream& out, color pixel_color); +void write_color(std::ostream& out, const color& pixel_color); #endif // !__COLOR_HPP_ diff --git a/include/ray.hpp b/include/ray.hpp new file mode 100644 index 0000000..3f8542b --- /dev/null +++ b/include/ray.hpp @@ -0,0 +1,17 @@ +#ifndef __RAY_HPP_ +#define __RAY_HPP_ + +#include "vec3.hpp" + +class ray { + public: + + ray(const point3& origin, const vec3& direction); + + point3 at(double t); + + point3 origin; + vec3 direction; +}; + +#endif // !__RAY_HPP_ diff --git a/include/vec3.hpp b/include/vec3.hpp index b76792b..801b0b5 100644 --- a/include/vec3.hpp +++ b/include/vec3.hpp @@ -26,24 +26,26 @@ class vec3 { vec3 cross(vec3& vec); - vec3 unit_vector(); + vec3 unit(); double x, y, z; }; -vec3 operator+(vec3& u, vec3& v); +vec3 lerp(vec3 u, vec3 v, double t); -vec3 operator-(vec3& u, vec3& v); +vec3 operator+(vec3 u, vec3 v); -vec3 operator*(vec3& u, vec3& v); +vec3 operator-(vec3 u, vec3 v); -vec3 operator*(vec3& u, double scale); +vec3 operator*(vec3 u, vec3 v); -vec3 operator*(double scale, vec3& u); +vec3 operator*(vec3 u, double scale); -vec3 operator/(vec3& u, double scale); +vec3 operator*(double scale, vec3 u); -std::ostream& operator<<(std::ostream& out, vec3& vec); +vec3 operator/(vec3 u, double scale); + +std::ostream& operator<<(std::ostream& out, vec3 vec); using point3 = vec3; using color = vec3; |
