OpenGL着色器 - 使用它正常旋转顶点

时间:2015-04-03 13:43:43

标签: java opengl camera rotation lwjgl

鉴于 surfaceNormal (gl_NormalMatrix * gl_Normal) gl_Vertex ,如何旋转gl_Vertex以使其适应该法线。我想将它用于广告牌和一般轮换。

2个问题:

  1. 如何使用surfaceNormal (在.vert着色器中)旋转gl_Vertex?
  2. 旋转是在GPU上(在着色器中)还是在CPU上进行? (请根据这个问题调整问题#1 2给出2个Vector3fs,一个用于旋转(正常),另一个用于顶点位置,如果它应该在CPU上完成)
  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

在大多数情况下,旋转应该通过模型矩阵(或直接世界矩阵)在CPU上完成。

即使CPU比GPU慢,请记住,每个顶点都会执行一个顶点着色器,而链接到网格的模型矩阵,所以很多顶点,每帧只计算一次如果您的网格不会移动,那么您的网格是动态的,只有整个程序的一次。