当前位置: 首页 > news >正文

第三十七章 立方体贴图总结

立方体贴图:将多个纹理组合起来映射到一张纹理上的一种纹理类型。
一个立方体贴图时包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面,相当于是一个有纹理的立方体。
创建立方体贴图:
首先需要生成一个纹理,将其绑定到纹理目标上,再做其他纹理操作。补充:绑定到GL_TEXTURE_CUBE_MAP
unsigned int textureID;
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_CUBE_MAP, textureID);

立方体贴图有6个纹理,需要调用glTexImage2D六次,需要将纹理目标(target)参数设置为立方体贴图的一个特定的面,告诉OpenGL在对立方体贴图的哪一个面
创建纹理。
有6个特殊的纹理目标,专门对应立方体贴图的一个面:

纹理目标 方位
GL_TEXTURE_CUBE_MAP_POSITIVE_X 右
GL_TEXTURE_CUBE_MAP_NEGATIVE_X 左
GL_TEXTURE_CUBE_MAP_POSITIVE_Y 上
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 下
GL_TEXTURE_CUBE_MAP_POSITIVE_Z 后
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 前
背后的int值是线性递增的,所以如果有一个纹理位置的数组或者vector,
可以从GL_TEXTURE_CUBE_MAP_POSITIVE_X开始遍历它们,在每个迭代中对枚举值加1,就可以遍历了整个纹理目标。
举例如下:
int width, height, nrChannels;
unsigned char *data;

http://www.lryc.cn/news/60732.html

相关文章:

  • 哈希(C++)
  • Spring MVC 的调用(12)
  • 死磕内存篇 --- JAVA进程和linux内存间的大小关系
  • 信号完整性分析:关于传输线的三十个问题解答(三)
  • Java基础:Stream流常用方法
  • ImageNet使用方法(细节)自用!
  • C/C++外观模式解析:简化复杂子系统的高效方法
  • 追梦之旅【数据结构篇】——详解小白如何使用C语言实现堆数据结构
  • cocoscreator性能优化4-Sprite颜色数据去除
  • 系统接口幂等性设计探究
  • C learning_7
  • PageRank算法介绍
  • springboot+vue职称评审管理系统(源码+文档)
  • 腾讯云4核8G轻量服务器12M支持多少访客同时在线?并发数怎么算?
  • 图片英文翻译成中文转换器-中文翻译英文软件
  • 月薪10k和40k的程序员差距有多大?
  • gateway整合knife4j(微服务在线文档)
  • ASP.NET 记录 HttpRequest HttpResponse HttpServerUtility
  • Python 人工智能:11~15
  • 辉煌优配|军工板块逆市上涨,16只概念股已披露一季度业绩预喜
  • 看板与 Scrum:有什么区别?
  • 零代码是什么?零代码平台适合谁用?
  • CNStack 云服务云组件:打造丰富的云原生技术中台生态
  • #PythonPytorch 1.如何入门深度学习模型
  • [API]节点流和处理流字节流和字符流(七)
  • 开心档之C++ 模板
  • 拥抱还是革命,ChatGPT时代 AI专家给出15条科研生存之道
  • python算法中的数学算法(详解下)
  • Docker Desktop使用PostgreSql配合PGAdmin的使用
  • 大佬入局AI,职场人有新机会了?