OpenGl混合

时间:2011-05-03 22:34:28

标签: opengl-es opengl-es-2.0 color-blending

我想混合两个rects,但我想只绘制混合区域(rects相交的区域),怎么做

3 个答案:

答案 0 :(得分:1)

如果您不想计算交叉点,则可以使用模板缓冲区来实现该目的。在这里阅读:
http://bluevoid.com/opengl/sig00/advanced00/notes/node118.html

您可以在模板缓冲区上绘制两个rects并使用增量,然后仅屏蔽值>>的像素。 2,即绘制2个或更多个rects的像素。

答案 1 :(得分:0)

两个凸面的交点总是一个矩形。那么为什么不只计算交叉点并仅绘制那个?

答案 2 :(得分:0)

GLES20.glEnable( GLES20.GL_BLEND );
GLES20.glBlendFunc( GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA );

但是你应该设置你的混合函数的行为。 在着色器中我设置了alpha通道。你可以看到结果:

blending post。 android项目的source