2014-11-25 4 views
-1

Использование Tao.Freeglut и Tao.OpenGl. Я попытался создать несколько точек, набрав этот код.Невозможно нарисовать линию и точку с помощью C# Tao.OpengGL

Но когда я запускаю его, он показывает только белые окна, но на нем нет никаких точек. ли кто-нибудь знает, как решить эту проблему. (Та же проблема, когда я пытаюсь использовать GL_LINES с 2 точками)

using Tao.Freeglut; 
using Tao.OpenGl; 

public static void init() 
     Gl.glClearColor(1.0f, 1.0f, 1.0f, 0.0f); 
     Gl.glColor3f(0.0f, 0.0f, 1.0f); 
     Gl.glPointSize(4); 
     Gl.glMatrixMode(Gl.GL_PROJECTION); 
     Gl.glLoadIdentity(); 
     Glu.gluOrtho2D(0.0, 400, 0.0, 300.0); 

    } 

    public static void myDisplay() 
    { 

     Gl.glClear(Gl.GL_COLOR_BUFFER_BIT); 
     Gl.glBegin(Gl.GL_POINT); 
     { 
      Gl.glVertex2i(50, 50); 
      Gl.glVertex2i(100, 100); 
      Gl.glVertex2i(100, 150); 
      Gl.glVertex2i(200, 200); 
      Gl.glVertex2i(200, 250); 
      Gl.glEnd(); 
     } 
     Gl.glFlush(); 
    } 

    static void Main() 
    { 
     Glut.glutInit(); 
     Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); 
     Glut.glutInitWindowPosition(50, 100); 
     Glut.glutInitWindowSize(400, 300); 
     Glut.glutCreateWindow("Test 2"); 

     init(); 
     Glut.glutDisplayFunc(myDisplay); 
     Glut.glutMainLoop(); 
    } 
+3

Пожалуйста, отредактируйте название вопроса, чтобы быть более наглядным, чем «Помощь!». и повторение тегов. – Filburt

+2

[Учитесь писать хорошие заголовки] (http://stackoverflow.com/help/how-to-ask). Честно говоря, я еще не читал ваш вопрос. Лучшее название дает лучшие ответы. –

+0

Возможный дубликат [Первая попытка - графическая программа] (http://stackoverflow.com/questions/23597472/first-try-graphical-program) –

ответ

3
Gl.glBegin(Gl.GL_POINT); 

вызовет ошибку GL_INVALID_ENUM, поскольку GL_POINT не является действительным аргументом glBegin. Проверьте the documentation один из режимов рисования. Вы также должны проверить наличие ошибок OpenGL, по крайней мере, в конце фрейма.

+1

Возможно, вам стоит упомянуть, что правильное перечисление - 'GL_POINTS'. –

+0

Вы также могли бы упомянуть, что немедленный режим ('glBegin' ...' glEnd') устарел. – datenwolf

+0

Спасибо. Во-первых, когда я набираю GL_POI и нахожу этот GL_POINT до – Peace