2013-09-21 3 views
1

Можно ли что-то нарисовать в OpenGL на рисовальной сцене с заданием координат пикселя окна?Как установить пиксельные координаты?

Например, я хотел бы нарисовать одну точку в окне 400x400 (например, в середине этого окна). Есть ли какой-либо быстрый способ настроить все, чтобы я мог просто набрать:

glVertex3f(200.0 , 200.0 , 1.0);? 

ответ

1

Для этого вам необходимо настроить матрицу ортогональных проекций.

glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
glOrthof(0.0f, WindowWidth, WindowHeight, 0.0f, 0.0f, 10.0f); 
glMatrixMode(GL_MODELVIEW); 

Вы можете визуализировать в координатах окна.

glPointSize(5.0f); 
glBegin(GL_POINTS); 
    glVertex3f(100.0f, 100.0f, 1.0f); 
glEnd(); 

Если вынести точку с диаметром 5 пикселей на оконных координатах [100, 100]

Обратите внимание, что этот старый способ визуализации является устаревшим, и вы должны использовать VBOs и тому подобное, но все еще хороша для тестирования.

+0

Обратите внимание, что вместо создания такой проекции интегральные координаты, такие как 100.0f, 100.0f, фактически соответствуют границам пикселей, а не пиксельным центрам. – derhass

Смежные вопросы