static void DrawFps() { glPushMatrix(); glLoadIdentity(); SetOrthographicProjection(); glColor3f(0.0f, 0.0f, 0.0f); RenderQuad(25, 6, 50, 12); glColor3f(1.0f, 1.0f, 1.0f); RenderBitmapString(5, 10, GLUT_BITMAP_TIMES_ROMAN_10, FpsString); glPopMatrix(); RestorePerspectiveProjection(); }
void MCrossFade::Render(float red, float green, float blue) { if (m_active == false) return; glPushMatrix(); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_DEPTH_TEST); glDisable(GL_TEXTURE_2D); SetOrthographicProjection(); glLoadIdentity(); float w = (float) m_viewport[2]; float h = (float) m_viewport[3]; // Have the alpha start at 0.5 and go to 0 float alpha = 0.5f - 0.5f * (float) m_frame / (float) m_totalFrames; // Render full screen quad glColor4f(red, green, blue, alpha); glBegin(GL_QUADS); glVertex3f(0, 0, 0); glVertex3f(0, h, 0); glVertex3f(w, h, 0); glVertex3f(w, 0, 0); glEnd(); RestorePerspectiveProjection(); glPopMatrix(); glEnable(GL_DEPTH_TEST); glEnable(GL_TEXTURE_2D); glDisable(GL_BLEND); }