00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __SGL_MATRIX_HPP
00026 #define __SGL_MATRIX_HPP
00027
00028 #include <sgl.h>
00029 #include <sglVector.hpp>
00030
00031 #include <sglMat2.hpp>
00032 #include <sglMat3.hpp>
00033 #include <sglMat4.hpp>
00034
00035
00036
00037
00038
00039 typedef sglMat2<float> sglMat2f;
00040 typedef sglMat2<double> sglMat2d;
00041 typedef sglMat3<float> sglMat3f;
00042 typedef sglMat3<double> sglMat3d;
00043 typedef sglMat4<float> sglMat4f;
00044 typedef sglMat4<double> sglMat4d;
00045
00046
00047
00048
00049 const sglMat2f sglIdentMat2f(1.0f, 0.0f,
00050 0.0f, 1.0f);
00051 const sglMat3f sglIdentMat3f(1.0f, 0.0f, 0.0f,
00052 0.0f, 1.0f, 0.0f,
00053 0.0f, 0.0f, 1.0f);
00054 const sglMat4f sglIdentMat4f(1.0f, 0.0f, 0.0f, 0.0f,
00055 0.0f, 1.0f, 0.0f, 0.0f,
00056 0.0f, 0.0f, 1.0f, 0.0f,
00057 0.0f, 0.0f, 0.0f, 1.0f);
00058
00059 const sglMat2d sglIdentMat2d(1.0, 0.0,
00060 0.0, 1.0);
00061 const sglMat3d sglIdentMat3d(1.0, 0.0, 0.0,
00062 0.0, 1.0, 0.0,
00063 0.0, 0.0, 1.0);
00064 const sglMat4d sglIdentMat4d(1.0, 0.0, 0.0, 0.0,
00065 0.0, 1.0, 0.0, 0.0,
00066 0.0, 0.0, 1.0, 0.0,
00067 0.0, 0.0, 0.0, 1.0);
00068
00069
00070
00071
00072 inline void sglLoadMatrix(const sglMat4f& mat) { glLoadMatrixf(mat.getPtr()); }
00073 inline void sglLoadMatrix(const sglMat4d& mat) { glLoadMatrixd(mat.getPtr()); }
00074
00075 inline void sglMultMatrix(const sglMat4f& mat) { glMultMatrixf(mat.getPtr()); }
00076 inline void sglMultMatrix(const sglMat4d& mat) { glMultMatrixd(mat.getPtr()); }
00077
00078 #endif