2011-03-20 69 views
1

我用OpenTK做了一个简单的旋转四面体应用程序。我的问题是缺少最后一张脸。我猜是因为我做了一个错误的顶点顺序。在OpenTK中绘制一个四面体

 GL.Begin(BeginMode.Triangles); 

     GL.Color3(Color.Silver); 
     GL.Vertex3(-0.269f, -0.5f, -0.5f); 
     GL.Vertex3(0.598f, -0.5f, 0f); 
     GL.Vertex3(-0.269f, -0.5f, 0.5f); 

     GL.Color3(Color.Honeydew); 
     GL.Vertex3(-0.269f, -0.5f, -0.5f); 
     GL.Vertex3(0.0f, 0.5f, 0f); 
     GL.Vertex3(-0.269f, -0.5f, 0.5f); 

     GL.Color3(Color.Moccasin); 
     GL.Vertex3(-0.269f, -0.5f, 0.5f); 
     GL.Vertex3(0.598f, -0.5f, 0f); 
     GL.Vertex3(0.0f, 0.5f, 0f); 

     GL.Color3(Color.IndianRed); 
     GL.Vertex3(0.598f, -0.5f, 0f); 
     GL.Vertex3(-0.269f, -0.5f, 0.5f); 
     GL.Vertex3(0.0f, 0.5f, 0f); 

     GL.End(); 

得到四面体的正确顺序是什么?我应该使用另一个BeginMode吗?

由于提前, 丹尼尔如果您要查找的四面体:: draw()函数在this page它提供了似乎是为他们工作的COORDS和OpenGL的通话清单

回答

2

也就是说,这样的事情:

P1 = {0.0, -1.0, 2.0}; 
P2 = {1.73205081, -1.0, -1.0}; 
P3 = {-1.73205081, -1.0, -1.0} 
P4 = {0.0, 2.0, 0.0}; 
coords = {{P1, P2, P3}, {P1, P3, P4}, {P1, P4, P2}, {P2, P4, P3}} 
+0

谢谢,成功了! :) – 2011-03-20 20:30:01