使用Tao.Freeglut和Tao.OpenGl。 我试着通过输入这段代码来创建一些点。
但是当我运行它时,它只显示一个白色的窗口,但没有任何点。 有人知道如何解决这个问题。(当我尝试使用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();
}
答案 0 :(得分:3)
Gl.glBegin(Gl.GL_POINT);
将导致GL_INVALID_ENUM错误,因为GL_POINT不是glBegin的有效参数。查看the documentation绘制模式有效的一个。您还应该至少在帧结束时检查OpenGL错误。