Opengl es 围绕纹理的不透明部分绘制轮廓

Opengl es 围绕纹理的不透明部分绘制轮廓,opengl-es,cocos2d-iphone,textures,Opengl Es,Cocos2d Iphone,Textures,修补新游戏的功能集,我正在考虑加入PVP游戏模式。没有什么能像倪在踢了AI之后那样,所以碎裂了:)。只有一件事。愿意限制使用现代设备 P>一个选项,我认为在地图上每个玩家的角色的区别是在每个玩家的角色中添加“飞扬”不同颜色的2点轮廓(其他选项存在,但是对资源有权重考虑)。 我在这里(或其他地方)没有找到任何对此类要求非常有用的答案,我也不是德国劳埃德船级社的专家。如果你们中有人能给我指出一些教程的方向,我将不胜感激。TIA我不建议你必须将轮廓放入单独的纹理中。我想象的是,你有一个精灵,它的一个

修补新游戏的功能集,我正在考虑加入PVP游戏模式。没有什么能像倪在踢了AI之后那样,所以碎裂了:)。只有一件事。愿意限制使用现代设备

<> P>一个选项,我认为在地图上每个玩家的角色的区别是在每个玩家的角色中添加“飞扬”不同颜色的2点轮廓(其他选项存在,但是对资源有权重考虑)。
我在这里(或其他地方)没有找到任何对此类要求非常有用的答案,我也不是德国劳埃德船级社的专家。如果你们中有人能给我指出一些教程的方向,我将不胜感激。TIA

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

一个想法是在不透明区域周围画一个两像素宽的环,像
alpha=0.5

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

如果您的图像使用部分透明度,这将变得更加困难,尽管在这种情况下,您可能会对alpha元数据(如边框)禁用0.0到0.1的范围


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

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

一个想法是在不透明区域周围画一个两像素宽的环,像
alpha=0.5

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

如果您的图像使用部分透明度,这将变得更加困难,尽管在这种情况下,您可能会对alpha元数据(如边框)禁用0.0到0.1的范围


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

角色是纹理精灵还是3d模型?如果是精灵,将轮廓数据添加到源纹理是否是一个选项?精灵。如前所述,有多种选择。据目前估计,该应用程序的容量约为320Mb。如果我将纹理资源加倍,一个是“红色”的,另一个是“蓝色”的,看起来有点多。这就是为什么我一直在寻找在运行时实现这一点的方法(尽管可能会造成性能损失,但尚未量化)。角色是纹理精灵还是3d模型?如果是精灵,将轮廓数据添加到源纹理是否是一个选项?精灵。如前所述,有多种选择。据目前估计,该应用程序的容量约为320Mb。如果我将纹理资源加倍,一个是“红色”的,另一个是“蓝色”的,看起来有点多。这就是为什么我一直在寻找在运行时实现这一点的方法(尽管可能会造成性能损失,但尚未量化)。。。我一开始不理解你的建议。当前,基本alpha=1被alpha=0包围,并且正在手动添加2个点。我将与Art先生核实,在绘制轮廓时,他的工具是否允许控制alpha通道。如果是的,更进一步,然后找出着色器的事情,以及如何说服cocos在动画中这样做。brb.yep,我们可以在绘制大纲时控制alpha通道。这是一点工作,不需要玩弄动画,着色器程序从frame1传播到以下所有程序。抗锯齿不太明显。可能会把球扔回阿特先生手中:),但那是个好主意。啊。。。我一开始不理解你的建议。当前,基本alpha=1被alpha=0包围,并且正在手动添加2个点。我将与Art先生核实,在绘制轮廓时,他的工具是否允许控制alpha通道。如果是的,更进一步,然后找出着色器的事情,以及如何说服cocos在动画中这样做。brb.yep,我们可以在绘制大纲时控制alpha通道。这是一点工作,不需要玩弄动画,着色器程序从frame1传播到以下所有程序。抗锯齿不太明显。他可能会把球扔回到阿特的手中:),但这是个好主意。