#include "OrthoCamera.h"
OrthoCamera::OrthoCamera()
{
enableOrtho();
scale = 1;
}
void OrthoCamera::begin(ofRectangle rect)
{
ofCamera::begin(rect);
float vw = ofGetViewportWidth();
float vh = ofGetViewportHeight();
float ar = vw/vh;
float scalex, scaley;
if (ar > 1.0f)
{
scalex = scale * ar;
scaley = scale;
} else {
scalex = scale;
scaley = scale / ar;
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
#ifndef TARGET_OPENGLES
glOrtho(-scalex, scalex, -scaley, scaley, -20 * scale, 20 * scale);
#else
ofMatrix4x4 ortho = ofMatrix4x4::newOrthoMatrix(-scalex, scalex, scaley, -scaley,
-20 * scale, 20 * scale);
glMultMatrixf(ortho.getPtr());
#endif
glMatrixMode(GL_MODELVIEW);
}
Comments