openglES多纹理

绘制阴影时,在一个片元着色器中需要2个纹理。一张普通纹理,一张深度纹理。

cpp 复制代码
uniform sampler2D texId; //普通纹理
uniform sampler2DShadow depthTexId; //深度纹理

但glBindTexture只能绑定一张纹理,该怎么办呢?

这时就需要设置纹理单元,一个单元对应一个纹理。

但要注意,设置对应的uniform变量的值。

cpp 复制代码
shader.setUniform("texId",0);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texId);

shader.setUniform("depthTexId",1);
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, depthTexId);
相关推荐
C^h5 小时前
c++ string
开发语言·c++
raindayinrain5 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的5 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao5 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
小徐不徐说6 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
大都督会赢的7 小时前
C++第一节课
开发语言·c++
UIU1147 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
TMedical7 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗
qq_406981038 小时前
共享变量一 关于extern与const
开发语言·c++
chari克里10 小时前
QT5.15.2 + msvc2022部署全流程说明(windows可联网环境)
开发语言·c++·qt