OPENGL 绘制图片问题
我用OPENGGL在3D场景中绘制一个2维图片结果绘制出来是个白色的框请问高手这是怎么回事我还那些设置没开或者是那些设置没关...
我用OPENGGL在3D场景中 绘制一个2维图片 结果绘制出来是个白色的框请问高手这是怎么回事 我还那些设置没开或者是那些设置没关
展开
2个回答
展开全部
完整的材质定义如下,你看看少了哪行,glTexImage2D中的参数根据你的程序设定
GLuint id;
glGenTextures(1,&id);
glBindTexture(GL_TEXTURE_2D,id); glTexImage2D(GL_TEXTURE_2D,0,image->components(),image->width(),image->height(),0,image->format(),GL_UNSIGNED_BYTE,image->data()); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);
glBindTexture(GL_TEXTURE_2D, 0);
return id;
然后在display回调函数中,画图前加上
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,T);
这里的T就是如上返回的id
GLuint id;
glGenTextures(1,&id);
glBindTexture(GL_TEXTURE_2D,id); glTexImage2D(GL_TEXTURE_2D,0,image->components(),image->width(),image->height(),0,image->format(),GL_UNSIGNED_BYTE,image->data()); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);
glBindTexture(GL_TEXTURE_2D, 0);
return id;
然后在display回调函数中,画图前加上
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,T);
这里的T就是如上返回的id
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |