2015-04-03 84 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慢,請記住每個頂點都會執行一個頂點着色器,而鏈接到網格的模型矩陣(因此很多頂點)每幀只能計算一次如果你的網格是動態的,並且只有你的整個程序的一次,如果你的網格不會移動。