2015-04-03 49 views
1

鉴于surfaceNormal(gl_NormalMatrix * gl_Normal)gl_Vertex我怎么旋转gl_Vertex使得其将调整到正常旋转顶点。我想用这个广告牌和一般轮换。的OpenGL着色器 - 用它的正常

2个问题:

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

谢谢!

+0

Y我们的问题没有意义。什么是“旋转gl_Vertex,使其能够适应这种正常”应该是指?方向不描述旋转。 – derhass 2015-04-03 18:29:47

回答

1

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

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