Я пытаюсь нарисовать простую строку (наложение) на экране.
Из того, что я нашел в Интернете, я использую это следующим образом:
void write(string text, int x, int y){
glRasterPos2i(x,y);
for(int i = 0; i < text.length(); i++){
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12, text.data()[i]);
}
}
Но он рисует строку в соответствии с мировыми координатами.Скажем, если x и y установлены в 10, они нарисованы в (10,10,0) координатах в мире.Но мне просто нужна эта строка в координатах окна (10,10) в 2D.
Это часть небольшого проекта, и метод рисования описан ниже.Я не хочу сильно его менять, поскольку это может нарушить что-то еще в проекте.
void disp(){
// set viewing translation and object rotations
glMatrixMode( GL_MODELVIEW );
glLoadIdentity ();
glTranslatef( INIT_VIEW_X, INIT_VIEW_Y, INIT_VIEW_Z );
glRotatef( xRot, 1.0, 0.0, 0.0 );
glRotatef( zRot, 0.0, 0.0, 1.0 );
glScalef( scaleFactor, scaleFactor, scaleFactor );
glClear(GL_COLOR_BUFFER_BIT);
draw();
glFlush();
}
Я также точно не знаю, что они делают, и я думаю, что рисование текста в мировых координатах должноделать с чем-то в этом коде.Я также попробовал Используя растровые шрифты GLUT , но это тоже не работает.
Как я могу просто рисовать на экране.OpenGL слишком сложен;Я пытаюсь просто написать в окно, но это берет целое и переводит в трехмерный мир.Я просто не хочу этого.