在主程序中我们先设置3个采样器名称

    pbrShader.use();pbrShader.setInt("irradianceMap", 0);pbrShader.setInt("prefilterMap", 1);pbrShader.setInt("brdfLUT", 2);其中setint是封装函数:void setInt(const std::string &name, int value) const{ glUniform1i(glGetUniformLocation(ID, name.c_str()), value); }

0,1,2顺序很关键

在Fragment_shader中设置采样器

uniform samplerCube irradianceMap;
uniform samplerCube prefilterMap;
uniform sampler2D brdfLUT;

然后在主程序中如何绑定和使用这3个纹理呢?

        glActiveTexture(GL_TEXTURE0);glBindTexture(GL_TEXTURE_CUBE_MAP, 纹理1);glActiveTexture(GL_TEXTURE1);glBindTexture(GL_TEXTURE_CUBE_MAP, 纹理2);glActiveTexture(GL_TEXTURE2);glBindTexture(GL_TEXTURE_2D, 纹理3);

GL_TEXTURE0,1,2和上面的0,1,2是对应的

OpenGL如何处理多个纹理相关推荐

  1. OpenGL textures combined组合纹理的实例

    OpenGL textures combined组合纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> ...

  2. OpenGL Volume Texture体积纹理的实例

    OpenGL Volume Texture体积纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #define USE_GL3W #include <ve ...

  3. OpenGL Texture Coordinate Wrapping纹理坐标包装的实例

    OpenGL Texture Coordinate Wrapping纹理坐标包装 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <verm ...

  4. OpenGL Static Texture静态纹理的实例

    OpenGL Static Texture静态纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #define USE_GL3W #include <ve ...

  5. OpenGL Multi Texture多重纹理的实例

    OpenGL Multi Texture多重纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #define USE_GL3W #include <ver ...

  6. OpenGL LoadTexture加载纹理的实例

    OpenGL LoadTexture加载纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #define USE_GL3W #include <vermi ...

  7. OpenGL simpletexture简单的纹理的实例

    OpenGL simpletexture简单的纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <vmath.h> #includ ...

  8. OpenGL无边界的纹理实例

    OpenGL 无边界的纹理实例 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <object.h> #include <sha ...

  9. OpenGL着色器将纹理应用于全屏四边形

    OpenGL着色器将纹理应用于全屏四边形 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <GLXW/glxw.h> #include ...

最新文章

  1. macos nginx php mysql_mac环境下搭建nginx + php + mysql开发环境
  2. 信标组的磁标安装长度
  3. android源码settings中显示所有正在运行进程流程分析
  4. 264. 丑数 II---LeetCode---JAVA(动态规划)
  5. 第三届“空间信息网络”学术论坛诚邀您的参加
  6. Google 视频编码格式 VP9 究竟厉害在哪里
  7. 判断形参S所指字符串是否是回文,若是,函数返回1,不是则返回0,并在main中实现输出...
  8. [forwarding]Android上dip、dp、px、sp等单位说明
  9. golang之旅--接口 (interface)
  10. 小米便签维护——首页背景按键切换(按键隐藏)及欢迎界面
  11. 最全面的PS快捷键使用指南(图文演示)
  12. python自动补全vim_Python 自动补全(vim)
  13. Ubuntu 22.04 下安装uhd和gnuradio的快捷方法
  14. 经典机器学习模型:朴素贝叶斯分类
  15. Activity七大生命周期详解
  16. python如何模拟键盘输入_Python模拟键盘输入和鼠标操作
  17. 紧急提醒!黑客正利用假 ChatGPT 来推送恶意软件
  18. ADI的DSP,Blackfin系列中最受欢迎的型号:BF533
  19. 人生之路 — 新时代伴侣相处之道
  20. 分布式锁解决并发的三种实现方式

热门文章

  1. PE文件结构详解(三)
  2. 微信小程序学习Course 8 本地缓存API
  3. 2022-2028年中国数字内容行业深度调研及投资前景预测报告(全卷)
  4. Arduino学习笔记1---开发环境搭建
  5. Js 判断网页窗口是否滚动到底部
  6. 【Spring】bean的作用域(@Scope) - singleton、prototype
  7. pycharm中报错:Error: failed to send plot to http://127.0.0.1:63342
  8. 基于FPGA实现的MobileNet V1,FPGA深度学习加速器设计 CNN Accelerators based on FPGAs
  9. 如何建立图像数据矩阵和图像显示灰度之间的关系!_放射技术考试第四章第一节 数字图像的特征...
  10. ios11修改微信步数_小程序同步微信步数