diff options
author | sotech117 <michael_foiani@brown.edu> | 2023-12-08 14:40:22 -0500 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2023-12-08 14:40:30 -0500 |
commit | 82f043dc575a8f5b817e74b38e13c0ce4f0584a2 (patch) | |
tree | ddd17ba0d095d3a95a2d726bbb291c0582f99d2f /src | |
parent | 2d1484cbdfdb761decee18c324d12e833c6c19b4 (diff) |
add new 4d ops
Diffstat (limited to 'src')
-rw-r--r-- | src/4dvecops/vec4ops.cpp | 9 | ||||
-rw-r--r-- | src/4dvecops/vec4ops.h | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/4dvecops/vec4ops.cpp b/src/4dvecops/vec4ops.cpp index 1ffe673..80cebaf 100644 --- a/src/4dvecops/vec4ops.cpp +++ b/src/4dvecops/vec4ops.cpp @@ -1,9 +1,10 @@ -#include "raytracer/raytracer.h" +#include <stdexcept> +#include "vec4ops.h" // vector operations on 4d vectors, // reference: https://hollasch.github.io/ray4/Four-Space_Visualization_of_4D_Objects.html#chapter5 -glm::vec4 cross4( +glm::vec4 Vec4Ops::cross4( glm::vec4 u, glm::vec4 v, glm::vec4 w) { @@ -23,13 +24,13 @@ glm::vec4 cross4( return result; } -glm::vec4 dot4( +glm::vec4 Vec4Ops::dot4( glm::vec4 u, glm::vec4 v) { return {u[0] * v[0], u[1] * v[1], u[2] * v[2], u[3] * v[3]}; } -glm::mat4 getViewMatrix4( +glm::mat4 Vec4Ops::getViewMatrix4( glm::vec4 fromPoint, glm::vec4 toPoint, glm::vec4 upVector, diff --git a/src/4dvecops/vec4ops.h b/src/4dvecops/vec4ops.h index 47a4c74..d1c3ac8 100644 --- a/src/4dvecops/vec4ops.h +++ b/src/4dvecops/vec4ops.h @@ -26,6 +26,12 @@ public: static glm::vec4 inverseTransformPoint4(glm::vec4 point4, glm::mat4 inverseTransformDirectionMatrix, glm::vec4 inverseTranslationPointVector); + + static glm::vec4 cross4(glm::vec4 u, glm::vec4 v, glm::vec4 w); + + static glm::vec4 dot4(glm::vec4 u, glm::vec4 v); + + static glm::mat4 getViewMatrix4(glm::vec4 fromPoint, glm::vec4 toPoint, glm::vec4 upVector, glm::vec4 lookVector); }; #endif //PROJECTS_RAY_VEC4OPS_H |