现有一个mask

想画一个如下图

所示的部件。
可是结果总是出现黑边,似乎alpha值没有设置正确。结果如图:
代码如下:
//画绿色长方形
glColor4f(0, 1, 0, 1);
glRectf(left, bottom, right, (bottom + top) / 2);
glEnable(GL_BLEND);
glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_TEXTURE_2D);
GLint textureID = maskID;
glBindTexture(GL_TEXTURE_2D, textureID);
glBegin(GL_QUADS);
glTexCoord2f( 0, 0 ); glVertex3f(left, bottom, 1.0 );
glTexCoord2f( 1, 0 ); glVertex3f(right, bottom, 1.0 );
glTexCoord2f( 1, 1 ); glVertex3f(right, top, 1.0 );
glTexCoord2f( 0, 1 ); glVertex3f(left, top, 1.0 );
glEnd();
glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
请问问题在哪里
刚刚注册,不知道有多少分,有多少我尽量给^_^
谢谢先