Есть сцена в gl. Нужно в углу выводить инфу. Не пойму как эти координаты получить.
Рисую через renderText();
glPushMatrix();
glLoadIdentity();
glTranslatef( -width() / 2 + 10, -height() / 2 + 10, 0.0f );
renderText( 0.0, 0.0, 0.0, "Text" );
glPopMatrix();
void SceneGL::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_MULTISAMPLE);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(nSca, nSca, nSca);
glTranslatef(xPos, -yPos, 0);
glPushMatrix();
// glLoadIdentity(); // с раскоментированным текста нет вообще
glTranslatef( -width() + 10, -height() + 10, 0.0f );
renderText( 0.0, 0.0, 0.0, "Text" );
glPopMatrix();
// тут рисую фигуры
}
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glViewport( 0, 0, width(), height() );
glOrtho( 0.0, width(), height(), 0.0, -1.0, 1.0 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
renderText( 10.0, 10.0, 0.0, "Text" ); // верхний левый угол
// draw text
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glViewport( 0, 0, width(), height() );
glOrtho( 0.0, width(), height(), 0.0, -1.0, 1.0 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
renderText(10.0, 20.0, 0.0, "Text" ); // верхний левый угол
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
GLfloat ratio = (GLfloat)height() / (GLfloat)width();
if (width() >= height())
glOrtho(-1.0/ratio, 1.0/ratio, -1.0, 1.0, -10.0, 1.0);
else
glOrtho(-1.0, 1.0, -1.0*ratio, 1.0*ratio, -10.0, 1.0);
glViewport(0, 0, (GLint)width(), (GLint)height());
// тут рисую фигуры, текст все равно их перекрывает =/