diff options
author | Peter Kohaut | 2016-09-26 23:38:35 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-29 22:33:41 +0200 |
commit | f1cb735ee07c11785f67080ea800a72dd551ae19 (patch) | |
tree | 7f67364d748a1091164ecaa98386165a76f78a8f /engines/bladerunner/vector.h | |
parent | cfc8ffed8af71714cc6378b412557d5fc03781d4 (diff) | |
download | scummvm-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.h | 14 |
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 |