我有一個小問題,爲我的高度圖計算法線。它有一個奇怪的行爲。在較高和較低的點法線是好的,但在中間他們似乎錯了。他們點着一盞燈。 計算法線高度圖
不固定源REMOVED
編輯: 嘗試過2種新的方法:
這是每面正常。它看起來很好,但你看到單面。
Position normal = crossP(vectorize(pOL, pUR), vectorize(pOR, pUL));
我也試過這樣做每個頂點,但也有一個奇怪的輸出。
這是尼科提出的建議:
看起來也相當奇怪。如何計算幫助點可能存在錯誤。
不固定源REMOVED
編輯2:我的觀點的 定義: OL,OR,UL,UR是要繪製平面的角落頂點。
postVertPosZ1 postVertPosZ2
preVertPosX1 pOL pOR postVertPosX1
preVertPosX2 pUL pUR postVertPosX2
preVertPosZ1 preVertPosZ2
EDIT3:
我現在解決它。這是一個愚蠢的錯誤: 我忘了將幫助頂點的y值乘以高度乘數,並且必須改變一些值。
[在三角形網格中計算法線]的可能副本(http://stackoverflow.com/questions/6656358/calculating-normals-in-a-triangle-mesh) – legends2k
相關:https://en.wikipedia。 org/wiki/Sobel_operator – sbabbi