Здравствуйте, Ossto, Вы писали:
O>Вопрос такой:
O>как его вывести так чтобы он был всегда в окне?
O>Собственно вопрос можно расширыть... как делаются все худы(показатели) в 3д играх (в перспективной проекции)?
Ага... Я сам долго мучился с этй же фигней
Я решил эту проблему так (типа кроссхайр-худ):
...
сначала рисую сцену
....
// теперь кроссхайр - рисовать так, чтобы не проваливался за стены =)))
// Crosshair
glPushMatrix();
glDisable(GL_DEPTH_TEST); //!!!!! Эта та самая фигня!!! Отключаем тест глубины.
glLoadIdentity();
glTranslated(0.0f,0.0f,-55.0f);
glColor3f(0.0f,1.0f,0.0f);
glBegin(GL_LINES);
glColor3f(0.0f,1.0f,0.0f);
glVertex2f(0.0f,1.0f);
glColor3f(0.0f,0.0f,0.0f);
glVertex2f(0.0f,0.1f);
glVertex2f(0.0f,-0.1f);
glColor3f(0.0f,1.0f,0.0f);
glVertex2f(0.0f,-1);
glVertex2f(1.0f,0.0f);
glColor3f(0.0f,0.0f,0.0f);
glVertex2f(0.1f,0.0f);
glVertex2f(-0.1f,0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex2f(-1.0f,0.0f);
glEnd();
glEnable(GL_DEPTH_TEST); // Включаем тест глубины