static void Resize(int32 w, int32 h) { width = w; height = h; #if ENABLE_GLUI GLUI_Master.get_viewport_area(&tx, &ty, &tw, &th); #else tx = 0; ty = 0; tw = glutGet(GLUT_WINDOW_WIDTH); th = glutGet(GLUT_WINDOW_HEIGHT); #endif // ENABLE_GLUI glViewport(tx, ty, tw, th); glMatrixMode(GL_PROJECTION); glLoadIdentity(); float32 ratio = th ? float32(tw) / float32(th) : 1; extents = ratio >= 1 ? b2Vec2(ratio * 25.0f, 25.0f) : b2Vec2(25.0f, 25.0f / ratio); extents *= viewZoom; b2Vec2 lower = settings.viewCenter - extents; b2Vec2 upper = settings.viewCenter + extents; // L/R/B/T LoadOrtho2DMatrix(lower.x, upper.x, lower.y, upper.y); if (fullscreenUI.GetEnabled()) { fullscreenUI.SetViewParameters(&settings.viewCenter, &extents); } }
void DebugDraw::DrawString(int x, int y, const char *string, ...){ char buffer[128]; va_list arg; va_start(arg, string); vsprintf(buffer, string, arg); va_end(arg); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); int w = glutGet(GLUT_WINDOW_WIDTH); int h = glutGet(GLUT_WINDOW_HEIGHT); LoadOrtho2DMatrix(0, w, h, 0); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); glColor3f(0.9f, 0.6f, 0.6f); glRasterPos2i(x, y); int32 length = (int32)strlen(buffer); for (int32 i = 0; i < length; ++i) { glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, buffer[i]); //glutBitmapCharacter(GLUT_BITMAP_9_BY_15, buffer[i]); } glPopMatrix(); glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); }