为openGL提供3D坐标的顺序是什么?

时间:2011-11-02 07:04:37

标签: c++ opengl coordinates

我希望有人可以为我解释这个问题。如果我得到一个点(i,j,k),我可以制作以下立方体:

     8______K_______7     1 =  i ,  j ,  k
     /|           /|      2 = i+1,  j ,  k
   L/ |         J/ |      3 = i+1, j+1,  k
   /  |H        /  |      4 =  i , j+1,  k
 5/______I_____/6  |G     5 =  i ,  j , k+1
  |   |        |   |      6 = i+1,  j , k+1
  |   |        |   |      7 = i+1, j+1, k+1
 E|  4|________|F__|3     8 =  i , j+1, k+1
  |  /     c   |  /
  | /D         | /B       
  |/___________|/            
  1      A     2             

其中数字1-8是立方体的每个顶点,字母A-L是立方体每个边缘的中点。

我正在尝试实现一个行进立方体算法,但我不知道为每个三角形平面给出的点的顺序是什么。例如,如果标记了顶点1,那么我需要从E-D-A绘制一个平面。类似地,如果标记了顶点7,我将需要从K-J-G绘制一个平面。订单是否有规则为openGL提供3D空间坐标?

1 个答案:

答案 0 :(得分:1)

  

订单是否有规则为openGL提供3D空间坐标?

OpenGL通过屏幕空间中顶点的缠绕来定义面的正面和背面。如果屏幕空间中的面的顶点是逆时针顺序,则认为正面是可见的。顺时针顺序=>背面。法线应指向正面方向。