2013-09-12 3 views
0

У меня есть следующий код для создания строки в 3d.Нарисуйте строку в 3d с помощью OpenTK

 GL.glClear(GL.GL_DEPTH_BUFFER_BIT | GL.GL_COLOR_BUFFER_BIT); 

     GL.glMatrixMode(GL.GL_MODELVIEW); 
     GL.glLoadIdentity(); 

     GL.glBegin(GL.GL_LINES); 
     GL.glColor(Color.Brown); 
     GL.glVertex3f(0,0,0); 
     GL.glVertex3f(100,0,0); 
     GL.glEnd(); 

     GL.glBegin(GL.GL_LINES); 
     GL.glColor(Color.Brown); 
     GL.glVertex3f(0, 0, 0); 
     GL.glVertex3f(0, 100, 0); 
     GL.glEnd(); 

     GL.glBegin(GL.GL_LINES); 
     GL.glColor(Color.Yellow); 
     GL.glVertex3f(0, 0, 0); 
     GL.glVertex3f(0, 0, 10); 
     GL.glEnd(); 

     SwapBuffers(); 

Но когда я запускаю программу, которую я только увидеть линии для 1 2 ... для оси х и у, значение которого 100.

Чего не хватает?

+0

Вы установили окно просмотра? Что относительно 'glMatrixMode (GL_PROJECTION);'? –

+0

IN GL.glMatrixMode (GL.GL_MODELVIEW); –

+0

Должны быть инициализированы две матрицы: GL_PROJECTION и GL_MODELVIEW. и вы не установили окно просмотра. –

ответ

0

Попробуйте изобразить линию, идущую от начала координат (0,0,0) до (0,0,10).

Это всегда 0 в плоскости x/y, что означает, что если вы смотрите прямо на него, вы не увидите его, если положение вашей «камеры» перпендикулярно плоскости x/y.

Если вы измените положение «камеры», вы сможете увидеть его.

+0

как изменить положение камеры? –

+0

Я пробовал этот GL.glVertex3f (0, 0, 0); GL.glVertex3f (-50, -50, 100); но все же я не вижу ни одной строки –

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