2011-02-09 101 views
2

我正在开发Android和iPhone应用程序。我正在为一个粒子系统渲染大量小巧的(大约32像素)广告牌到屏幕上,并且希望为每个广告牌提供闪光般的闪光,例如,随着颗粒的落下,随机的颗粒会在捕捉光线时短暂点亮并闪烁。有没有简单的方法来达到这种效果?作为一个限制,我不能使用像素/顶点着色器。OpenGL ES中的金属闪烁效果?

我在想给每个广告牌带来金属般的照明效果(尽管我不知道该怎么做这部分),并给每个广告牌添加了一个随机且不断旋转的普通平面阴影,每个广告牌会随机点亮。我很难让它看起来不错。

+0

这种有点像“教我OpenGL”的问题。没有一些简单的解决方案可以给你,而无需为你编码。 – mikerobi 2011-02-09 18:40:34

回答

0

声明:我不知道OpenGL,而且我没有尝试任何我在下面写的东西。

您可以有另一个“明亮”纹理,并在正常接近“闪亮”位置时替换它。

取一块金属并旋转它。一旦法线接近“全闪耀”的位置,金属发光更亮一些,并且一个柔和的反射穿过它,中间有明亮的闪光,然后它再次变钝。

如果可以,应用窄反射带的第二个明亮纹理,并将其移动到处于接近发光位置的广告牌的表面,并将它们相应地移至正常角度。当法线位于光泽位置(±ε)时,应用“全光泽”纹理。另外,除非你的盘子在真空中飞行,否则会因大气而产生光环。添加一个矩形,比其后面的平板大50%,并将半透明光晕纹理应用到边缘更接近完全透明。你只需要在充满光芒的时刻。