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);
相关推荐
9ilk9 分钟前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调
linux·服务器·c++·分布式·学习·rabbitmq
北冥湖畔的燕雀12 分钟前
std之list
数据结构·c++·list
Elias不吃糖1 小时前
eventfd 初认识Reactor/多线程服务器的关键唤醒机制
linux·服务器·c++·学习
南方的狮子先生1 小时前
【C++】C++文件读写
java·开发语言·数据结构·c++·算法·1024程序员节
玖剹2 小时前
二叉树递归题目(一)
c语言·c++·算法·leetcode
mjhcsp2 小时前
C++ 数组:基础与进阶全解析
开发语言·c++
量子炒饭大师2 小时前
【一天一个计算机知识】—— 【编程百度】翻译环境与运行环境
c语言·汇编·c++·gitee·机器翻译
今晚打老虎2 小时前
c++(斗罗大陆3)
开发语言·c++·斗罗大陆3
coderxiaohan3 小时前
List列表
c++
无双@3 小时前
高并发内存池9 —— Page Cache 回收
c++·线程·秋招·项目·高并发内存池·c++项目·内存池