NeHe OpenGL教程 06 纹理映射
2011-04-23 14:15
609 查看
OpenGL纹理要求:1.长宽大小均为2的幂;2.长宽最小64,最大256像素(文中提到最大值不超过256是为兼容性考虑)
注:对于第一点,似乎新版本OpenGL已经可以支持为2的幂的纹理了;对于第二点,未找到明确的解释。
教程中使用glaux函数库读取BMP文件,也提供了替代代码,使用Win32API读取BMP文件。
glGenTextures 创建OpenGL纹理对象名(GLuint);
glBindTexture 把前面创建的或一个早已存在的纹理对象名绑定到一个纹理目标(可以是一维纹理、二维纹理、三维纹理等);
glTexImage2D 创建实际的纹理对象,此时会指定纹理对象的大小、像素格式、数据来源等;(这时为纹理对象分配存储空间?是内存还是显存?)(此时内存中的BMP图片已经可以被释放了)
glTexParameteri 指定纹理采样模式(包括线性、最近点等模式);
glEnable(GL_TEXTURE_2D) 启用二维纹理映射功能;
每次绘图时都需要使用glBindTexture 把需要的纹理绑定到对应的纹理目标;
在顶点属性中通过glTexCoord2f 指定顶点纹理坐标。
注:对于第一点,似乎新版本OpenGL已经可以支持为2的幂的纹理了;对于第二点,未找到明确的解释。
教程中使用glaux函数库读取BMP文件,也提供了替代代码,使用Win32API读取BMP文件。
glGenTextures 创建OpenGL纹理对象名(GLuint);
glBindTexture 把前面创建的或一个早已存在的纹理对象名绑定到一个纹理目标(可以是一维纹理、二维纹理、三维纹理等);
glTexImage2D 创建实际的纹理对象,此时会指定纹理对象的大小、像素格式、数据来源等;(这时为纹理对象分配存储空间?是内存还是显存?)(此时内存中的BMP图片已经可以被释放了)
glTexParameteri 指定纹理采样模式(包括线性、最近点等模式);
glEnable(GL_TEXTURE_2D) 启用二维纹理映射功能;
每次绘图时都需要使用glBindTexture 把需要的纹理绑定到对应的纹理目标;
在顶点属性中通过glTexCoord2f 指定顶点纹理坐标。
相关文章推荐
- 【OpenGL】(NeHe教程学习)纹理映射及代码实现
- Jeff Molofee(NeHe)的OpenGL教程--纹理映射
- Andriod OpenGL 教程 06 - 纹理映射
- 【OpenGL】(NeHe教程学习)纹理映射及代码实现
- 纹理映射:Jeff Molofee(NeHe) 的 OPENGL 教程-第六课
- 纹理映射:Jeff Molofee(NeHe) 的 OPENGL 教程-第六课
- 【Qt OpenGL教程】06:纹理映射
- NeHe的opengl教程delphi版(6)----纹理映射(贴图)
- NeHe的OpenGL教程6(Bang翻译Delphi版)-如何用图片进行纹理映射
- NeHe的opengl教程delphi版(6)----纹理映射(贴图)
- NeHe OpenGL教程 第六课:纹理映射
- opengl 教程(16) 纹理映射
- opengl 教程(16) 纹理映射
- 【OpenGL】OpenGL系列——06纹理映射
- Jeff Molofee(NeHe)的OpenGL教程--纹理滤波方式
- NeHe's Opengl 06:纹理映射error LNK1120: 1 unresolved externals和error LNK2019: unresolved external的问题
- ArchieOpenGL基础教程第八课:创建3D图形和纹理映射(MFC/SDI)
- NeHe+OpenGL教程 第七课 纹理过滤器、光照和键盘控制
- NeHe OpenGL第六课:纹理映射
- NeHe's Opengl 06:纹理映射 initialization failed和Unknown DIB file format