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

  • 相关阅读:
    VUe兄弟通信
    vue组件之间的通信, 父子组件通信,兄弟组件通信
    js 数组 map方法
    vue生命周期
    使用JQuery获取被选中的checkbox的value值
    C#中struct和class的区别详解 (转载)
    C# 增加时间的三个方法
    c# 事件3
    C# 事件2
    C# 事件
  • 原文地址:https://www.cnblogs.com/indif/p/2025616.html
Copyright © 2011-2022 走看看