不规则多边形平滑着色的求解思路


如上图的不规则多边形,想要把这个多边形做一个透明度的渐变过渡,

image

也就是这样子的效果,不过因为它是个不规则的多边形,而且是个凹多边形。

图上的蓝色虚线为大致的平滑路径。

这种平滑处理,有什么好的处理思路没?

我知道要做插值,但是处理细节没有想清楚,找到的参考思路有:
线性插值&双线性插值&三线性插值

2赞

对多边形的AABB做渐变,多边形作为遮罩来过滤要展示的颜色?

这个出来的效果很差强人意

刚好我的游戏也遇到这个问题。(第三章混色机制开始)

方法是顶点着色后插值平滑,程序算每个顶点的进度。
但是效果会有一些瑕疵,在一个三角形内是平滑的,但是两个三角形的交界处还是能看得出折痕,尤其是拐角大的部分。

对路径做更细的剖分能缓解这种问题,但是T形岔口很难再做进一步剖分。
最终我放弃优化,就这么地了……

image
你这个进度是怎么计算的?

我这个菜鸡想到的就是直接把多边形拆分成单个路径,每个路径可以接续其他路径,同时其他路径引用次数+1,然后插值的结果再除以引用次数,最终输出叠加的插值结果,路径就需要手动标记再计算着色