opengl 多边形线框_OpenGL - 在纹理多边形上创建边框

我正在使用cocos2d-x 2.0.4。我通过这两个图像来说明我想要做的事情。

我想要的是以编程方式创建一个模糊的边框或带有渐变的边框。我有两个想法,但我不确定这是否是正确的方法。第一种解决方案是对仅包含模糊颜色的多边形进行三角测量(在这种情况下为带凹孔的凹面多边形),并在其上使用渐变渲染颜色,多边形外侧的顶点将为全α和内部零点上的顶点-α。然后插值将完成渐变的工作。

第二种解决方案是在着色器内部进行。我只需要计算像素的距离和多边形的最近边缘。然后在一定的阈值下,我会根据距离(距离最短,最大的alpha值)影响像素白色,并具有一定的α值。

无论如何,我对openGL的东西很新,我担心第二个解决方案最终会有大的处理时间,因为我必须计算多边形的每个像素的距离。你觉得这个家伙怎么样?这些想法往往会证实我的猜测,或者我对此完全错了吗?

编辑:

我最终选择的解决方案是在多边形中使用每个角度的平分线(易于用3个连续顶点计算),并在该平分线上取一个点,该平分线将成为内部多边形的顶点。然后我采用外部多边形顶点或内部多边形顶点来构建可以适合GL_TRIANGLE_STRIP参数的顶点数组。我把下面的图片更好地理解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值