opengl es 2.0 中如何在绘制两张图片的时候让相交的部分变成灰色? 15
小弟使用opengles2.0画了两个纹理矩形(可以是任意图片),然后向让这两个纹理矩形相交的地方变成黑白色,请问使用Opengl的混合能做到吗?如果可以,怎么用呢?如果...
小弟使用opengl es 2.0画了两个纹理矩形(可以是任意图片),
然后向让这两个纹理矩形相交的地方变成黑白色,请问使用Opengl的混合能做到吗?
如果可以,怎么用呢?如果不可以,那么如何处理呢?
PS:绘制的图片以及绘制的位置都是随机的,可以理解成想让屏幕上的图片相交的地方变灰!
哦,对了,差点忘了说了,在写shader的时如果可以知道当前屏幕的像素点就好了,但是这就是问题所在,屏幕上有很多图片,凡是相交就变灰,这就是难点了。。。 展开
然后向让这两个纹理矩形相交的地方变成黑白色,请问使用Opengl的混合能做到吗?
如果可以,怎么用呢?如果不可以,那么如何处理呢?
PS:绘制的图片以及绘制的位置都是随机的,可以理解成想让屏幕上的图片相交的地方变灰!
哦,对了,差点忘了说了,在写shader的时如果可以知道当前屏幕的像素点就好了,但是这就是问题所在,屏幕上有很多图片,凡是相交就变灰,这就是难点了。。。 展开
1个回答
展开全部
你这个肯定要用到碰撞检测了, 可以写一个分离轴算法,简单实用。 alpha混合不能让你得到想要的颜色,除非是无色, 比如你把glblendfunc的两个因子全设为0, 这样你重叠的部分就透明了, 并不是你想要的颜色。 另: 屏幕的像素点在framebuff中,可以访问
追问
看了半天不明白你说的是什么意思.....我问的是如果让两张图片相交的地方混合成灰色而已,也就是混合算法怎么写,并不是检测两个图片是否相交.....
追答
我的回答是没有这个算法,除非你想混成透明,唯有用碰撞算法来确定相交部分
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询