src/render/SDL_d3dmath.h
changeset 8599 532cd234e923
child 8764 3d5ef7548688
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/render/SDL_d3dmath.h	Mon Mar 10 17:19:19 2014 -0700
@@ -0,0 +1,69 @@
+/*
+  Simple DirectMedia Layer
+  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+*/
+#include "../SDL_internal.h"
+
+
+/* Direct3D matrix math functions */
+
+typedef struct
+{
+    float x;
+    float y;
+} Float2;
+
+typedef struct
+{
+    float x;
+    float y;
+    float z;
+} Float3;
+
+typedef struct
+{
+    float x;
+    float y;
+    float z;
+    float w;
+} Float4;
+
+typedef struct
+{
+    union {
+        struct {
+            float _11, _12, _13, _14;
+            float _21, _22, _23, _24;
+            float _31, _32, _33, _34;
+            float _41, _42, _43, _44;
+        };
+        float m[4][4];
+    };
+} Float4X4;
+
+
+Float4X4 MatrixIdentity();
+Float4X4 MatrixMultiply(Float4X4 M1, Float4X4 M2);
+Float4X4 MatrixScaling(float x, float y, float z);
+Float4X4 MatrixTranslation(float x, float y, float z);
+Float4X4 MatrixRotationX(float r);
+Float4X4 MatrixRotationY(float r);
+Float4X4 MatrixRotationZ(float r);
+
+/* vi: set ts=4 sw=4 expandtab: */