Opengl es openGL中的重叠部分透明形状

Opengl es openGL中的重叠部分透明形状,opengl-es,drawing,transparency,fill,shapes,Opengl Es,Drawing,Transparency,Fill,Shapes,请检查我找到的这段整洁的代码: glEnable(GL_LINE_SMOOTH); glColor4ub(0, 0, 0, 150); mmDrawCircle( ccp(100, 100), 20, 0, 50, NO); glLineWidth(40); ccDrawLine(ccp(100, 100), ccp(100 + 100, 100)); mmDrawCircle( ccp(100+100, 100), 20, 0, 50, NO); 其中mmDrawCircle和ccDr

请检查我找到的这段整洁的代码:

glEnable(GL_LINE_SMOOTH);

glColor4ub(0, 0, 0, 150);
mmDrawCircle( ccp(100, 100), 20, 0, 50, NO);

glLineWidth(40);
ccDrawLine(ccp(100, 100), ccp(100 + 100, 100));

mmDrawCircle( ccp(100+100, 100), 20, 0, 50, NO);
其中mmDrawCircle和ccDrawLine只是以某种方式绘制这些形状[填充]。。。(ccp指分别具有给定x、y坐标的点)

我的问题。。。。是的,您猜对了,直线与圆重叠,并且都是半透明的(半透明的)。因此,最终的形状在那里,但重叠部分变得更暗,整体形状看起来很难看。。i、 e,如果我用255个字母画图就好了

有没有办法告诉OpenGL渲染重叠部分中的一个形状


(该形状显然是一个带圆角的矩形..半圆..)

您可以启用“GL_深度_测试”,然后首先渲染线,并稍微靠近摄影机。然后渲染下面的圆时,线的碎片将不会被触摸。 (也可以使用模具缓冲区来实现类似的效果)

请注意,这可能仍然看起来很难看。如果要使用抗锯齿,应该仔细考虑应用哪些混合模式以及渲染基本体的顺序