aboutsummaryrefslogtreecommitdiffstats
path: root/src/vec3.cpp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2020-12-20 14:49:20 +0100
committerladevieq <ladevie.quentin@gmail.com>2020-12-20 14:49:20 +0100
commit3935a609141623e7cfb3fa339da1a166e3917018 (patch)
treeba8d6275b1f9947af92f9c887608f71f73e6609d /src/vec3.cpp
parent2d8e108dd6811bcf55bed28f1855a36077f8c674 (diff)
Ray tracer renderer
Use ray for rendering Setup basic rendering stuff camera / viewport
Diffstat (limited to 'src/vec3.cpp')
-rw-r--r--src/vec3.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/vec3.cpp b/src/vec3.cpp
index b26680c..28523ab 100644
--- a/src/vec3.cpp
+++ b/src/vec3.cpp
@@ -53,34 +53,38 @@ vec3 vec3::cross(vec3& vec) {
);
}
-vec3 vec3::unit_vector() {
+vec3 vec3::unit() {
return *this / length();
}
-vec3 operator+(vec3& u, vec3& v) {
+// vec3 lerp(vec3 u, vec3 v, double t) {
+// return (1.0 - t)
+// }
+
+vec3 operator+(vec3 u, vec3 v) {
return vec3(u.x + v.x, u.y + v.y, u.z + v.z);
}
-vec3 operator-(vec3& u, vec3& v) {
+vec3 operator-(vec3 u, vec3 v) {
return vec3(u.x - v.x, u.y - v.y, u.z - v.z);
}
-vec3 operator*(vec3& u, vec3& v) {
+vec3 operator*(vec3 u, vec3 v) {
return vec3(u.x * v.x, u.y * v.y, u.z * v.z);
}
-vec3 operator*(vec3& u, double scale) {
+vec3 operator*(vec3 u, double scale) {
return vec3(u.x * scale, u.y * scale, u.z * scale);
}
-vec3 operator*(double scale, vec3& u) {
+vec3 operator*(double scale, vec3 u) {
return u * scale;
}
-vec3 operator/(vec3& u, double scale) {
- return 1.0/scale * u;
+vec3 operator/(vec3 u, double scale) {
+ return (1.0 / scale) * u;
}
-std::ostream& operator<<(std::ostream& out, vec3& vec) {
- return std::cout << vec.x << ' ' << vec.y << ' ' << vec.z << std::endl;
+std::ostream& operator<<(std::ostream& out, vec3 vec) {
+ return out << vec.x << ' ' << vec.y << ' ' << vec.z << std::endl;
}