aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/vector.h
diff options
context:
space:
mode:
authorPeter Kohaut2016-09-26 23:38:35 +0200
committerEugene Sandulenko2016-09-29 22:33:41 +0200
commitf1cb735ee07c11785f67080ea800a72dd551ae19 (patch)
tree7f67364d748a1091164ecaa98386165a76f78a8f /engines/bladerunner/vector.h
parentcfc8ffed8af71714cc6378b412557d5fc03781d4 (diff)
downloadscummvm-rg350-f1cb735ee07c11785f67080ea800a72dd551ae19.tar.gz
scummvm-rg350-f1cb735ee07c11785f67080ea800a72dd551ae19.tar.bz2
scummvm-rg350-f1cb735ee07c11785f67080ea800a72dd551ae19.zip
BLADERUNNER: added rendering support for lighting and effects, but its not working correctly yet
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