0

我正在开发一个 LibGDX 项目,我希望能够修改精灵的颜色和 alpha 等内容,特别是在与先前放置的部分重叠的任何部分。据我所知,这只能通过以某种方式比较片段着色器内部的两个片段,然后在其中根据需要修改各个片段来实现。

我目前的问题是我无法弄清楚如何将两个精灵中的数据获取到片段着色器中以进行这些比较。由于任何需要这样做的精灵都将始终使用彼此相同的纹理,我是否只需要为我要比较的精灵引入坐标数据,因为另一个精灵加载了“纹理”?

整个过程对我来说有点莫名其妙,因为我以前从来没有做过类似的事情,所以任何关于尝试什么的想法都会受到赞赏。在这一点上,我可以通过片段着色器很好地控制单个精灵,它只是比较片段着色器中两个单独放置的精灵,看看它们重叠的地方超出了我的范围。

4

1 回答 1

0

我认为您最好在 Java 代码中计算两个精灵的交集,然后使用相对基本的着色器渲染生成的重叠区域。(只需将它绘制在精灵的香草渲染之上。)

于 2013-06-11T21:03:34.183 回答