Qt OpenGL 使用纹理
2015-04-09 15:05
387 查看
Qt OpenGL 使用纹理
一、加载纹理
Qt使用QImage类来加载计算上面的纹理文件:头文件:#include<QImage>
/*
*
1.Qt加载本地纹理;
*
2.转换为OpenGL格式纹理;
*/
QImage texture, buffer; buffer.load( "./data/tex.png" ); texture = QGLWidget::convertToGLFormat( buf );//转换为OpenGL支持的格式
二、OpenGL设置纹理
/** 1.创建纹理数量;
* 2.绑定纹理到目标纹理上;
* 3.创建纹理;
* 4.设置纹理过滤,放大缩小;
*/
glGenTextures( 1, &texture[0] );//创建纹理数量 :一个 。(.h) GLuint texture[1]; glBindTexture( GL_TEXTURE_2D, texture[0] );//将纹理绑定到目标纹理上 glTexImage2D( GL_TEXTURE_2D, 0, 3, tex.width(), tex.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, tex.bits() ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );//滤波 glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
三、OpenGL初始化环境中启用纹理
glEnable( GL_TEXTURE_2D );
四、绘制纹理到图片上
glBegin( GL_QUADS ); glTexCoord2f( 0.0, 0.0 ); glVertex3f( -1.0, -1.0, 1.0 ); glTexCoord2f( 1.0, 0.0 ); glVertex3f( 1.0, -1.0, 1.0 ); glTexCoord2f( 1.0, 1.0 ); glVertex3f( 1.0, 1.0, 1.0 ); glTexCoord2f( 0.0, 1.0 ); glVertex3f( -1.0, 1.0, 1.0 ); glEnd();
相关文章推荐
- Qt openGL 使用QImage 生成二维纹理
- Qt中使用OpenGL的纹理贴图
- 使用DevIL来加载OpenGL纹理
- 在opengl中使用纹理
- OpenGL,多边形上贴BMP (C/C++版)+在QT中的使用
- OpenGL_Qt学习笔记之_05(纹理映射)
- Qt下的OpenGL 编程(5)光照和纹理滤波
- 在OpenGL中使用纹理压缩
- OpenGL多重纹理使用与理解(转)
- OpenGL和GLSL的多纹理的使用 [转]
- QT 在 QGraphicsView 中使用 opengl 不能够刷新的解决方案
- 在OpenGL中使用纹理压缩
- 在OpenGL中使用整数类型纹理进行计算【转】
- SDL与OpenGL配合使用时,OpenGL的纹理的UV坐标是上下颠倒的
- 使用DevIL来加载OpenGL纹理
- opengl使用 devil载入纹理
- 在OpenGL中使用整数类型纹理进行计算
- window下使用位图作为opengl纹理
- 【OpenGL学习】使用Shader处理纹理
- Qt下的OpenGL 编程(5)光照和纹理滤波