X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprojection.cpp;h=dc690f49f8d65376e7d858f84a0a38488c4b446f;hb=5172d32d67595ea0b70184fadcfcb8e023cccbc8;hp=2c234525ce63e0240bdc891f6d56c29be0484dcd;hpb=a4ec5410595ddf37bfbc0e85ad87d31a9cbf94f1;p=libs%2Fgl.git diff --git a/source/projection.cpp b/source/projection.cpp index 2c234525..dc690f49 100644 --- a/source/projection.cpp +++ b/source/projection.cpp @@ -6,15 +6,17 @@ Distributed under the LGPL */ #include -#include "gl.h" +#include "matrix.h" #include "projection.h" namespace Msp { namespace GL { +extern MatrixStack *active_stack; + void ortho(double left, double right, double bottom, double top, double nearr, double farr) { - glOrtho(left, right, bottom, top, nearr, farr); + *active_stack *= Matrix::ortho(left, right, bottom, top, nearr, farr); } void ortho_centered(double width, double height) @@ -34,17 +36,17 @@ void ortho_topleft(double width, double height) void frustum(double left, double right, double bottom, double top, double nearr, double farr) { - glFrustum(left, right, bottom, top, nearr, farr); + *active_stack *= Matrix::frustum(left, right, bottom, top, nearr, farr); } void frustum_centered(double width, double height, double nearr, double farr) { - glFrustum(-width/2, width/2, -height/2, height/2, nearr, farr); + frustum(-width/2, width/2, -height/2, height/2, nearr, farr); } void perspective(double fov_y, double aspect, double nearr, double farr) { - double hh=tan(fov_y*M_PI/360)*nearr; + double hh = tan(fov_y*M_PI/360)*nearr; frustum(-hh*aspect, hh*aspect, -hh, hh, nearr, farr); }