请教OpenGL纹理问题

failing 2008-03-24 11:17:43
现有一个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);

请问问题在哪里

刚刚注册,不知道有多少分,有多少我尽量给^_^
谢谢先
...全文
64 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2008-03-24
  • 打赏
  • 举报
回复
是不是缺少步骤,你查一下纹理创建的步骤,红皮书上的,
OpenGL很久不用了,
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-24 11:17
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下