aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/vector.h')
-rw-r--r--engines/bladerunner/vector.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/bladerunner/vector.h b/engines/bladerunner/vector.h
index 4f4bfed778..80fd5f8e14 100644
--- a/engines/bladerunner/vector.h
+++ b/engines/bladerunner/vector.h
@@ -58,6 +58,20 @@ public:
{}
float length() { return sqrtf(x * x + y * y + z * z); }
+ Vector3 normalize() {
+ float len = length();
+ if (len == 0) {
+ return Vector3(0.0f, 0.0f, 0.0f);
+ }
+ return Vector3(x / len, y / len, z / len);
+ }
+
+ static Vector3 cross(Vector3 a, Vector3 b) {
+ return Vector3(
+ a.y * b.z - a.z * b.y,
+ a.z * b.x - a.x * b.z,
+ a.x * b.y - a.y * b.x);
+ }
};
inline