Я пытаюсь напечатать некоторую информацию об отладке (FPS, местоположение камеры и поворот и т. Д.) В левом нижнем углу экрана. Я настроил его так, чтобы он работал нормально, используя glTranslate()
и glRasterPos2f()
, но если я попытаюсь изменить размер окна, текст больше не будет идеально лежать в углу, и в зависимости от того, насколько я вытяну окно, это может появиться в середине экрана, или это может начать отрезаться. Есть ли способ использовать glPrint()
для печати текста, скажем, 10px слева и 10px справа?
Вот код, который я использую:
GLvoid glPrint(const char *fmt, ...){ // Custom GL "Print" Routine
char text[256]; // Holds Our String
va_list ap; // Pointer To List Of Arguments
va_start(ap, fmt); // Parses The String For Variables
vsprintf(text, fmt, ap); // And Converts Symbols To Actual Numbers
va_end(ap); // Results Are Stored In Text
glPushAttrib(GL_LIST_BIT); // Pushes The Display List Bits
glListBase(base - 32); // Sets The Base Character to 32
glCallLists(strlen(text), GL_UNSIGNED_BYTE, text); // Draws The Display List Text
glPopAttrib(); // Pops The Display List Bits
}
void GLOUT(float xLocation, float yLocation, float colorRed, float colorGreen, float colorBlue){
glDisable(GL_TEXTURE_2D);
glLoadIdentity();
glTranslatef(0,0,-.002);
glColor3f(colorRed,colorGreen,colorBlue);
glRasterPos2f(xLocation/10000, yLocation/10000);
glPopMatrix();
}