aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core
diff options
context:
space:
mode:
authorGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-08-23 13:48:00 +0200
committerGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-08-25 22:03:19 +0200
commitb5b3aeb57699e531bdc0b8be156aa6476ea4f15d (patch)
tree6ecd43d29ede0d3c22679e695a23b2cb33b44ac0 /src/video_core
parent941762a573365884a2f7ec1d9a5c2634b9d97995 (diff)
Math: Warning fixes.
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/math.h37
1 files changed, 23 insertions, 14 deletions
diff --git a/src/video_core/math.h b/src/video_core/math.h
index ca1fb0df..83ba8123 100644
--- a/src/video_core/math.h
+++ b/src/video_core/math.h
@@ -50,9 +50,8 @@ static inline Vec4<T> MakeVec(const T& x, const T& y, const T& z, const T& w);
template<typename T>
class Vec2 {
public:
- struct {
- T x,y;
- };
+ T x;
+ T y;
T* AsArray() { return &x; }
@@ -176,10 +175,9 @@ template<typename T>
class Vec3
{
public:
- struct
- {
- T x,y,z;
- };
+ T x;
+ T y;
+ T z;
T* AsArray() { return &x; }
@@ -315,7 +313,7 @@ public:
_DEFINE_SWIZZLER2(b, a, b##a); \
_DEFINE_SWIZZLER2(b, a, b2##a2); \
_DEFINE_SWIZZLER2(b, a, b3##a3); \
- _DEFINE_SWIZZLER2(b, a, b4##a4);
+ _DEFINE_SWIZZLER2(b, a, b4##a4)
DEFINE_SWIZZLER2(x, y, r, g, u, v, s, t);
DEFINE_SWIZZLER2(x, z, r, b, u, w, s, q);
@@ -330,16 +328,27 @@ Vec3<T> operator * (const V& f, const Vec3<T>& vec)
return Vec3<T>(f*vec.x,f*vec.y,f*vec.z);
}
+template<>
+inline float Vec3<float>::Length() const {
+ return std::sqrt(x * x + y * y + z * z);
+}
+
+template<>
+inline Vec3<float> Vec3<float>::Normalized() const {
+ return *this / Length();
+}
+
+
typedef Vec3<float> Vec3f;
template<typename T>
class Vec4
{
public:
- struct
- {
- T x,y,z,w;
- };
+ T x;
+ T y;
+ T z;
+ T w;
T* AsArray() { return &x; }
@@ -456,7 +465,7 @@ public:
_DEFINE_SWIZZLER2(a, b, a##b); \
_DEFINE_SWIZZLER2(a, b, a2##b2); \
_DEFINE_SWIZZLER2(b, a, b##a); \
- _DEFINE_SWIZZLER2(b, a, b2##a2);
+ _DEFINE_SWIZZLER2(b, a, b2##a2)
DEFINE_SWIZZLER2(x, y, r, g);
DEFINE_SWIZZLER2(x, z, r, b);
@@ -480,7 +489,7 @@ public:
_DEFINE_SWIZZLER3(b, a, c, b2##a2##c2); \
_DEFINE_SWIZZLER3(b, c, a, b2##c2##a2); \
_DEFINE_SWIZZLER3(c, a, b, c2##a2##b2); \
- _DEFINE_SWIZZLER3(c, b, a, c2##b2##a2);
+ _DEFINE_SWIZZLER3(c, b, a, c2##b2##a2)
DEFINE_SWIZZLER3(x, y, z, r, g, b);
DEFINE_SWIZZLER3(x, y, w, r, g, a);