2009-07-28 72 views
0

我在OpenGL中有一個Spotlight源,指向紋理映射的球體。OpenGL聚光燈從後面閃耀

我用球體旋轉光源,這樣如果我將球體旋轉到「非光」側,那邊應該是黑暗的。

奇怪之處是,鎂光燈似乎通過我的球閃耀(這是一個堅實的,三角形之間沒有間隙。光似乎是通過給對方「泄漏」。

爲什麼任何思考這是發生

截圖:

Front view, low light to emphasize the problem

Back view, notice the round area that is 'shining through'

+0

你可以發佈截圖嗎? – 2009-07-28 06:10:49

回答

1

它真的很難從圖像中分辨出來,但是:

檢查GL_LIGHT_MODEL_TWO_SIDE是否正在設置(雙面照明),但更重要的是看看您正在渲染的球體的法線。

編輯:另外 - 將背景顏色更改爲更輕。哦,並確保你沒有打開alpha混合打開(也許它是一個多邊形排序問題)。

1

好的,我是一個諾布 - 我指定了我的法線,但沒有調用glEnableClientState(GL_NORMAL_ARRAY)。因此,所有的法線都面向一個方向(我認爲這是默認的,不是?)

無論如何 - 一個教訓 - 總是回顧一下基本知識。