2011-02-09 94 views
2

我正在開發Android和iPhone應用程序。我正在爲一個粒子系統渲染大量小巧的(大約32像素)廣告牌到屏幕上,並且希望爲每個廣告牌提供閃光般的閃光,例如,隨着顆粒的落下,隨機的顆粒會在捕捉光線時短暫點亮並閃爍。有沒有簡單的方法來達到這種效果?作爲一個限制,我不能使用像素/頂點着色器。OpenGL ES中的金屬閃爍效果?

我在想給每個廣告牌帶來金屬般的照明效果(儘管我不知道該怎麼做這部分),並給每個廣告牌添加了一個隨機且不斷旋轉的普通平面陰影,每個廣告牌會隨機點亮。我很難讓它看起來不錯。

+0

這種有點像「教我OpenGL」的問題。沒有一些簡單的解決方案可以給你,而無需爲你編碼。 – mikerobi 2011-02-09 18:40:34

回答

0

聲明:我不知道OpenGL,而且我沒有嘗試任何我在下面寫的東西。

您可以有另一個「明亮」紋理,並在正常接近「閃亮」位置時替換它。

取一塊金屬並旋轉它。一旦法線接近「全閃耀」的位置,金屬發光更亮一些,並且一個柔和的反射穿過它,中間有明亮的閃光,然後它再次變鈍。

如果可以,應用窄反射帶的第二個明亮紋理,並將其移動到處於接近發光位置的廣告牌的表面,並將它們相應地移至正常角度。當法線位於光澤位置(±ε)時,應用「全光澤」紋理。另外,除非你的盤子在真空中飛行,否則會因大氣而產生光環。添加一個矩形,比其後面的平板大50%,並將半透明光暈紋理應用到邊緣更接近完全透明。你只需要在充滿光芒的時刻。