我一直在尋找這一段時間,我還沒有找到合適的答案。 我想創建想在這個 視頻在Android上使用OpenGL-ES 2.0的2D動態照明效果:OpenGL-ES 2.0(適用於Android),如何創建2D動態光照效果?
http://www.youtube.com/watch?v=W53rTHXM6yo
但我真的不知道從哪裏開始。
如果有人能給我一點幫助,讓我開始,我會很感激。
謝謝你提前
我一直在尋找這一段時間,我還沒有找到合適的答案。 我想創建想在這個 視頻在Android上使用OpenGL-ES 2.0的2D動態照明效果:OpenGL-ES 2.0(適用於Android),如何創建2D動態光照效果?
http://www.youtube.com/watch?v=W53rTHXM6yo
但我真的不知道從哪裏開始。
如果有人能給我一點幫助,讓我開始,我會很感激。
謝謝你提前
我不知道視頻的作者如何實現這種效果。但只是看視頻和閱讀下面的評論,我認爲可以達到如下效果:
首先考慮只有一個光源的情況。您可以預先繪製放射狀漸變紋理。 (在中心最亮,邊界黑暗,灰色之間,你可以使用Photoshop來繪製它。)以光源位置爲中心渲染這種紋理。然後你需要生成一些三角形來渲染陰影。假設光源位於A.給定任何多邊形上的線段BC,您需要將AB線延伸到足夠遠的點(至少在屏幕外)。同時將AC延長到E點。然後你有四個BCED(或兩個三角形BCD和CDE)。用黑色渲染這個四邊形。對所有多邊形的所有線段做同樣的事情。這是影子。並且您可以獲得單個光源的效果。
對於多個光源,可以將每個光源的效果渲染到幀緩衝區對象(FBO)。最終的結果只是平均FBO。 (實際上,只能使用一個FBO來累積每個光源的顏色值,並且在最後一遍中,您只需要將其與光源數量分開)。
我認爲這是實現2D燈光效果的一種簡單方法。