Линия не отображается, потому что вы не настроили Orthographi c проекцию . Если вы не устанавливаете орфографическую c проекцию, вам необходимо указать координаты в нормализованном пространстве устройства. ND C - уникальный куб, у которого левый, нижний, близкий к (-1, -1, -1) и правый, верхний, дальний от (1, 1, 1).
Укажите орфографическая матрица c GL_PROJECTION
(см. glMatrixMode
) на glOrtho
, которая отображает координаты окна в ND C:
class frame(OpenGLFrame):
def initgl(self):
glViewport(0, 0, self.width, self.height)
glClearColor(0.0,1.0,0.0,0.0)
# setup projection matrix
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0, self.width, self.height, 0, -1, 1)
# setup identity model view matrix
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
def redraw(self):
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER)
glLoadIdentity()
glBegin(GL_LINES)
glColor3f(1.0,0.0,3.0)
glVertex2f(200,100)
glVertex2f(100,100)
glEnd()
gl_Flush()