菜鸟问:OPENGL RGBA模式生成的纹理

dal0324 2009-08-28 10:21:34
CreatTextures()
{
glGenTextures(1,&texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, FImageWidth, FImageHeight, 0, GL_RGBA, GL_FLOAT, FData);
}

在融合的时候,用drawpixels画出FData的数据是黑白的,代码如下:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA ,GL_ONE );
glDisable(GL_DEPTH_TEST);

glRasterPos3i (-FImageWidth/2, -FImageHeight/2,0);
glDrawPixels(FImageWidth, FImageHeight, GL_BGRA_EXT, GL_FLOAT, FData);
为什么以纹理贴图的方式,是彩色的?代码如下:
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,texture);
glBegin(GL_QUADS);
glNormal3f( 0.0f, 0.0f, 1.0f);
glTexCoord2f(0.0f, 0.0f); glVertex3f(-180, -180, 0);
glTexCoord2f(1.0f, 0.0f); glVertex3f(-180, 180, 0);
glTexCoord2f(1.0f, 1.0f); glVertex3f(180, 180, 0);
glTexCoord2f(0.0f, 1.0f); glVertex3f(180, -180, 0);
glEnd();
...全文
196 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dal0324 2009-08-28
  • 打赏
  • 举报
回复
自己解决了,纹理生成的时候level参数错了

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧