2011-03-20 99 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