Witam,
chcę w moim frameworku zrobić prosty hud. Prosty prostokącik na górze ekranu, który wyświetlałby fps i kilka innych pierdółek. Mój kod dotyczący Huda wygląda tak:

void
Hud::draw() {
	// włączamy Hud Mode
	hudMode(true);
	
	glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
	glBegin(GL_QUADS);
		glVertex3f(0.2, 0.0, 0.0);
		glVertex3f(0.2, 0.4, 0.0);
		glVertex3f(0.8, 0.4, 0.0);
		glVertex3f(0.8, 0.0, 0.0);
	glEnd();
	glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
	glLineWidth(2.0f);
	glBegin(GL_LINE_LOOP);
		glVertex2f(0.2, 0.0);
		glVertex2f(0.2, 0.4);
		glVertex2f(0.8, 0.4);
		glVertex2f(0.8, 0.0);
	glEnd();
	
	__font -> print(0.0f, 0.0f, "aaabbb");
	
	hudMode(false);
}

void
Hud::hudMode(bool flag) {
	if (flag) {
		int w, h;
		__instance -> getWindowSize(w, h);
		glMatrixMode(GL_PROJECTION);
		glPushMatrix();
		glLoadIdentity();
		glOrtho(0, w, h, 0, -1, 1);
		glMatrixMode(GL_MODELVIEW);
		glPushMatrix();
		glLoadIdentity();
		glDisable(GL_DEPTH_TEST);
	} else {
		glMatrixMode(GL_PROJECTION);
		glPopMatrix();
		glMatrixMode(GL_MODELVIEW);
		glPopMatrix();
		glEnable(GL_DEPTH_TEST);
	}
}

font to moja klasa, która opakowuje X'owe fonty, a instance to wskaźnik na instancję klasy-matki, która jest singletonem.
Chodzi o to, że takie coś nie działa. Wywołuję Hud::draw bezpośrednio przed podmianą buforów. Nic się nie wyświetla, jakby huda w ogóle nie było. Proszę o pomoc i wskazówki, co może być źle. Jeśli by było potrzebne więcej kodu, to powiedzcie.

Pozdrawiam.