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

A D*_*A D 5 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             
Run Code Online (Sandbox Code Playgroud)

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

我正在尝试实现行进立方体算法,但我不知道为我找到的每个三角形平面给出点的顺序。例如,如果标记了顶点 1,那么我需要从 EDA 绘制一个平面。同样,如果标记了顶点 7,我需要从 KJG 绘制一个平面。openGL 3D 空间中给出坐标的顺序有规则吗?

dat*_*olf 2

openGL 3D 空间中给出坐标的顺序有规则吗?

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