]> git.tdb.fi Git - libs/gl.git/blobdiff - source/projection.cpp
Drop Id tags and copyright notices from files
[libs/gl.git] / source / projection.cpp
index 1b7fa61f11a4389d8799387df6e060fadb3b2188..dd573da443eb7bcf5a305690cd456a450886eff7 100644 (file)
@@ -1,20 +1,15 @@
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #include <cmath>
-#include <GL/gl.h>
+#include "matrix.h"
 #include "projection.h"
 
 namespace Msp {
 namespace GL {
 
-void ortho(double left, double right, double bottom, double top, double near, double far)
+extern MatrixStack *active_stack;
+
+void ortho(double left, double right, double bottom, double top, double nearr, double farr)
 {
-       glOrtho(left, right, bottom, top, near, far);
+       *active_stack *= Matrix::ortho(left, right, bottom, top, nearr, farr);
 }
 
 void ortho_centered(double width, double height)
@@ -29,23 +24,23 @@ void ortho_bottomleft(double width, double height)
 
 void ortho_topleft(double width, double height)
 {
-       ortho(0, width, -height, 0, 0, 1);
+       ortho(0, width, height, 0, 0, 1);
 }
 
-void frustum(double left, double right, double bottom, double top, double near, double far)
+void frustum(double left, double right, double bottom, double top, double nearr, double farr)
 {
-       glFrustum(left, right, bottom, top, near, far);
+       *active_stack *= Matrix::frustum(left, right, bottom, top, nearr, farr);
 }
 
-void frustum_centered(double width, double height, double near, double far)
+void frustum_centered(double width, double height, double nearr, double farr)
 {
-       glFrustum(-width/2, width/2, -height/2, height/2, near, far);
+       frustum(-width/2, width/2, -height/2, height/2, nearr, farr);
 }
 
-void perspective(double fov_y, double aspect, double near, double far)
+void perspective(double fov_y, double aspect, double nearr, double farr)
 {
-       double hh=tan(fov_y*M_PI/360)*near;
-       frustum(-hh*aspect, hh*aspect, -hh, hh, near, far);
+       double hh = tan(fov_y*M_PI/360)*nearr;
+       frustum(-hh*aspect, hh*aspect, -hh, hh, nearr, farr);
 }
 
 } // namespace GL