2012-08-10 121 views
2

我有一個頂點/片段着色器,點光源和衰減,我需要將這種着色器應用於立方體面,我需要看到顏色漸變的變化,如果我使用高多邊形網格 一切工作得很好,效果很好,我的目標是在這個低多邊形網格上有一個漸變。glsl對低多面表面的影響

我試圖做到這一點gl_FragColor = vec4(n,1)n =正常,但我得到一個純色每個表面 ,這可能是我沒有看到漸變的原因?

歡呼聲

+2

歡迎來到SO!低多邊形網格有什麼問題?效果如何不同? *你有什麼嘗試?*請閱讀SO教程,並嘗試改進你的問題,因爲它不可能以當前形式獲得答案。 – 2012-08-10 10:11:12

+0

嗨巴爾泰克,你能告訴我哪裏是常見問題?我不是很糟糕的經驗,所以我很抱歉:)我試着爲照明,phong,blinn寫入一些着色器,增加了衰減,但我在我的立方體表面上得到純色,而我需要獲得漸變。我無法輕鬆調試一個glsl着色器,這沒有幫助。 – user1583007 2012-08-10 10:13:46

+1

頁面頂部有一個鏈接。你也應該編輯你的答案,並在那裏提供你的額外信息。 – 2012-08-10 10:16:29

回答

0

這是你正在觀察的正確行爲。立方體是完全平坦的,因此它的每個面的頂點法線是相同的。

但是請注意,在計算Phong照明時,您還應該使用片段的位置,該片段在給定(子)面的3個頂點(或4個頂點)之間插入。它可以用來計算給定片段位置的光照位置和眼睛向量之間的角度。

我最近經歷過類似的問題,我發現你的立方體真的需要發光,如果你想看到不平坦的東西;我的意思是字面意思。將光澤設置爲合理的高值(250-500)。你應該看到一個直接反映在你身上的焦點,動人的光點。否則,你的閃電着色器可能是錯誤的。