+++ /dev/null
-#include <cmath>
-#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)
-{
- *active_stack *= Matrix::ortho(left, right, bottom, top, nearr, farr);
-}
-
-void ortho_centered(double width, double height)
-{
- ortho(-width/2, width/2, -height/2, height/2, 0, 1);
-}
-
-void ortho_bottomleft(double width, double height)
-{
- ortho(0, width, 0, height, 0, 1);
-}
-
-void ortho_topleft(double width, double height)
-{
- ortho(0, width, height, 0, 0, 1);
-}
-
-void frustum(double left, double right, double bottom, double top, double nearr, double farr)
-{
- *active_stack *= Matrix::frustum(left, right, bottom, top, nearr, farr);
-}
-
-void frustum_centered(double width, double height, double nearr, double 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;
- frustum(-hh*aspect, hh*aspect, -hh, hh, nearr, farr);
-}
-
-} // namespace GL
-} // namespace Msp