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);
相关推荐
m0_662577975 分钟前
模板编译期哈希计算
开发语言·c++·算法
m0_662577976 分钟前
C++代码静态检测
开发语言·c++·算法
阿贵---6 分钟前
编译器命令选项优化
开发语言·c++·算法
minji...6 分钟前
Linux 进程间通信(一)进程间通信与匿名管道
linux·运维·服务器·数据结构·数据库·c++
add45a7 分钟前
分布式计算C++库
开发语言·c++·算法
「QT(C++)开发工程师」9 分钟前
C++并发编程新纪元:线程库、异步操作与泛型Lambda深度解析
开发语言·c++
-许平安-12 分钟前
MCP项目笔记四(Transport)
开发语言·c++·笔记·ai·mcp
2401_8942419213 分钟前
基于C++的数据库连接池
开发语言·c++·算法
阿贵---13 分钟前
C++中的适配器模式
开发语言·c++·算法
qq_4663024518 分钟前
vs2022 与Qt版本兼容 带来的警告
c++·qt