在下面的OpenGL代碼中,會發生什麼?OpenGL - glVertex替換繪製點?
glNormal3f(nx1, ny1, nz1)
glVertex3f(x1,y1,z1)
glNormal3f(nx2, ny2, nz2) //different Normal
glVertex3f(x1,y1,z1) //same vector
在口頭上:
我有一個點有一個正常的,如果我和其他正常的再次創建點,點改變了他的老法向量,或者忽略了最後一個電話?
這個問題來了,當我試圖使用法線以更平滑的方式使用照明渲染球體 。
法線怎麼樣? imagen兩個三角形共享一個共同的一面......如果我重新分配法線到點,三角形的臉部改變它是正常的,當涉及到照明? – 2011-05-04 22:03:05
這取決於你如何定義事物。你的代碼看起來像圍繞着這些頂點和法線?您可以擁有「每個頂點」法線,這是連接到該頂點的面的法線的歸一化平均值,以獲得平滑的着色。或者只是表面法線(也許寫成每個頂點的單獨法線)以具有平坦的陰影三角形。在後一種情況下,您可能會得到您在代碼中顯示的內容。多次出現多個法線的同一個頂點。 – Bart 2011-05-04 22:06:19
好的。 「每個頂點」法線的含義是什麼?如何實現平滑的陰影? – 2011-05-04 22:31:11