2014-11-25 78 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 2014-11-25 10:52:13

+2

[學會寫出好標題](http://stackoverflow.com/help/how-to-ask)。說實話,我還沒有讀你的問題。更好的標題帶來更好的答案 – 2014-11-25 10:54:22

+0

[First try - graphical program]可能的重複(http://stackoverflow.com/questions/23597472/first-try-graphical-program) – 2014-11-25 17:01:08

回答

3
Gl.glBegin(Gl.GL_POINT); 

會引起GL_INVALID_ENUM錯誤,因爲GL_POINT是不是在glBegin有效的參數。退房the documentation一種繪製模式是有效的。至少在一幀結束時,您還應該檢查OpenGL錯誤。

+1

您應該提到正確的枚舉是'GL_POINTS'。 – 2014-11-25 13:33:24

+0

你也可以提到直接模式('glBegin' ...'glEnd')已被棄用。 – datenwolf 2014-11-25 13:53:49

+0

謝謝。首先,當我輸入GL_POI並且彈出這個GL_POINT up – Peace 2014-11-26 02:57:56