求解opengl如何显示一张图片

vanxeger 2013-05-23 01:54:52
如题,求解啊求解,求解
...全文
613 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyebo20000 2014-09-12
  • 打赏
  • 举报
回复
完整的材质定义如下,你看看少了哪行,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
vanxeger 2013-06-08
  • 打赏
  • 举报
回复
谢谢大家,我还是不会,呵呵
ri_aje 2013-05-24
  • 打赏
  • 举报
回复
引用 6 楼 VANXEGER_2 的回复:
直接 gldrawpixels 画在 color buffer 就行了。 我就在用这个函数,但是就是画不出来啊
上代码,看看怎么画的,包括投影和视图矩阵怎么设置的。
_Tiny 2013-05-24
  • 打赏
  • 举报
回复
glViewport(0,0,width,height); // Reset The Current Viewport glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glLoadIdentity(); // Reset The Projection Matrix // Calculate The Aspect Ratio Of The Window gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix
_Tiny 2013-05-24
  • 打赏
  • 举报
回复
int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer glLoadIdentity(); // Reset The View glTranslatef(0.0f,0.0f,-5.0f); glBindTexture(GL_TEXTURE_2D, texture[0]); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, 1.0f); glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f, 1.0f, 1.0f); glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 1.0f); glEnd(); xrot+=0.3f; yrot+=0.2f; zrot+=0.4f; return TRUE; // Keep Going }其实就是加载一个纹理,然后画一个矩形,绑定这个纹理,将其映射到这个矩形上面即可。
Inhibitory 2013-05-24
  • 打赏
  • 举报
回复
看Nehe的 OpenGL教程 其实挺简单的,显示图片就是纹理贴图到一个矩形里。
vanxeger 2013-05-23
  • 打赏
  • 举报
回复
我擦,纯英文版的,还是黑色背景,看几分钟我的眼前就是一条一条的黑杠了……别坑我啊……
vanxeger 2013-05-23
  • 打赏
  • 举报
回复
ri_aje ri_aje 等级: 结帖率:100% #3 得分:0 回复于: 2013-05-23 14:04:50 直接 gldrawpixels 画在 color buffer 就行了。 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 我就在用这个函数,但是就是画不出来啊
赵4老师 2013-05-23
  • 打赏
  • 举报
回复
搜网络教程“学OpenGL编3D游戏”。
图灵狗 2013-05-23
  • 打赏
  • 举报
回复
这样看起来你有必要按照这套教程(http://nehe.gamedev.net/tutorial/lessons_01__05/22004/),先一步步学习。
引用 2 楼 VANXEGER_2 的回复:
我都看过了的……
ri_aje 2013-05-23
  • 打赏
  • 举报
回复
直接 gldrawpixels 画在 color buffer 就行了。
vanxeger 2013-05-23
  • 打赏
  • 举报
回复
我都看过了的……
图灵狗 2013-05-23
  • 打赏
  • 举报
回复
参考一下的文章: http://blog.csdn.net/dizuo/article/details/7596242 http://blog.csdn.net/programking/article/details/3930247

65,185

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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