zoukankan      html  css  js  c++  java
  • NeHe OpenGL教程 06 纹理映射

    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 指定顶点纹理坐标。

  • 相关阅读:
    .net 笔试面试总结(3)
    .net 笔试面试总结(2)
    .net 笔试面试总结(1)
    依赖注入
    ssh远程连接vm 安装的ubuntu
    ubuntu 安装vm-tool
    go调度: 第二部分-go调度器
    go调度: 第一部分-OS调度(操作系统调度)
    thrift简单示例 (go语言)
    thrift简单示例 (基于C++)
  • 原文地址:https://www.cnblogs.com/indif/p/2025616.html
Copyright © 2011-2022 走看看