围绕纹理的非透明部分绘制轮廓

时间:2012-09-19 15:21:53

标签: opengl-es cocos2d-iphone textures

修改新游戏的功能集,我正考虑加入PVP游戏模式。没有像NI那样在踢人工智能之后如此smithereens :)。只是iSomething。愿意限制使用现代设备。

我会考虑区分地图上每个玩家的角色的一个选项是将“不同颜色”的2点轮廓添加到每个玩家的角色(其他选项存在,但有重量考虑因素)对于资源)。

我在这里(在其他地方也没有找到)找到这种要求的任何非常有用的答案,我也不是一个GL的专家。如果你们中的任何一个人能指出我的某些教程,我将不胜感激。 TIA

1 个答案:

答案 0 :(得分:1)

我不建议您必须将轮廓放入单独的纹理中。我想象的是你有一个精灵,其区域全是alpha = 1.0,被alpha = 0.0的透明区域包围。

一个想法可能是在不透明区域周围绘制几个像素宽的环,例如alpha = 0.5

如果你想绘制没有边框的精灵,你可以对alpha > 0.75进行alpha测试,边框不会出现。如果要绘制边框,可以对alpha > 0.25进行alpha测试,并使用片段着色器将0.4 < alpha < 0.6的所有像素替换为您选择的彩色边框。

如果您的图像使用部分透明度,这会变得更加困难,但在这种情况下,您可以阻止范围从0.0到0.1,用于像边框这样的alpha元数据。

这不需要使用任何额外的纹理或增加任何现有资源的大小。