opengl纹理单元

可以这样简单的理解为:显卡中有N个纹理单元(具体数目依赖你的显卡能力),每个纹理单元(GL_TEXTURE0、GL_TEXTURE1等)都有GL_TEXTURE_1D、GL_TEXTURE_2D等,如下代码:

[cpp] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. struct TextureUnit  
  2. {  
  3.     GLuint targetTexture1D;  
  4.     GLuint targetTexture2D;  
  5.     GLuint targetTexture3D;  
  6.     GLuint targetTextureCube;  
  7.     ...  
  8. };  
  9.    
  10. TextureUnit textureUnits[GL_MAX_TEXTURE_IMAGE_UNITS]  
  11. GLuint currentTextureUnit = 0;  

默认情况下当前活跃的纹理单元为0.

 

[cpp] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. void glActiveTexture(GLenum textureUnit)  
  2. {  
  3.     currentTextureUnit = textureUnit  - GL_TEXTURE0 ;  
  4. }  


glActiveTextue 并不是激活纹理单元,而是选择当前活跃的纹理单元。


[cpp] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. void glBindTexture(GLenum textureTarget, GLuint textureObject)  
  2. {  
  3.     TextureUnit *texUnit = &textureUnits[currentTextureUnit];  
  4.     switch(textureTarget)  
  5.     {  
  6.     case GL_TEXTURE_1D: texUnit->targetTexture1D = textureObject; break;  
  7.     case GL_TEXTURE_2D: texUnit->targetTexture2D = textureObject; break;  
  8.     case GL_TEXTURE_3D: texUnit->targetTexture3D = textureObject; break;  
  9.     case GL_TEXTURE_CUBEMAP: texUnit->targetTextureCube = textureObject; break;  
  10.     }  
  11. }  

从示例代码中可以看到:当绑定纹理目标时,所作用的是当前活跃的纹理单元。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark 创建 hive表报错 ROW FORMAT DELIMITED is only compatible with 'textfile', not 'parquet'

场景: 在spark分析数据时,创建hive表失败。 提示异常 : 19/10/09 10:59:18 INFO execution.SparkSqlParser: Parsing command: CREATE EXTERNAL TABLE IF NOT EXISTS dm_xxx.user_area(biFollowersCount String,city String,created_at Str…

web登录时候加入过滤器的用法

有关过滤器的讲解我就不多加说明了,想要了解的可以自行看博文,写的很详细。 首先说说我想实现的功能,做学生信息管理系统的时候当用户注销后,虽然界面跳转到登录界面但当我们在地址栏中输入主界面地址还是跳转到主界面&#xff0…

多重纹理和纹理组合器

多重纹理和纹理组合器 本文主要介绍OpenGL中两种技术的使用方法:多重纹理技术和纹理组合器技术,最终根据参考【2】中的代码,实现了两个简单的演示DEMO,其中使用到了《八叉树颜色量化、BMP、TGA文件解析》篇章中提供的图像解析类。…

ClouderaManager agent 报错,无法连接到结群 Error, CM server guid updated, expected xxx , received xxx

场景 集群版本:CDH 6.0.1 服务器版本:Centos 7.3 JAVA版本:1.8 异常出现原因 搭建集群中遇到异常,删除agent节点,重新部署CM后发现异常,CDH处于无法使用状态 异常 查看agent日志会出现,说无法连接到…

1192 约瑟夫问题(1)

1192 约瑟夫问题(1) Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1235 | Solved : 716 Description 模拟这个游戏。有n个人围成一圈,从第一个人开始沿顺时针方向报数(从1到3…

CDH Kerberos 认证下Kafka 消费方式

集群Kerberos认证安装参考:https://datamining.blog.csdn.net/article/details/98480008 目录 环境: 配置 Java Producer 代码 文件内容: kafka_client_jaas.conf krb5.conf ( kerberos 配置文件复制过来即可) kafka.keytab Java Co…

glsl基础

目录[-] 变量 基本类型 结构体 数组 修饰符 内置变量 表达式 操作符 数组访问 构造函数 成分选择 控制流 循环 if/else discard 函数 变量 GLSL的变量命名方式与C语言类似。变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还…

1260 不一样的A+B

1260 不一样的AB Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 641 | Solved : 357 Description 读入两个小于100的正整数A和B,计算AB的值并输出。需要注意的是:整数A和B的每一位数字由对应的英文单…

IntelliJ IDEA Maven jar包冲突解决,快速发现jar包冲突

IntelliJ IDEA 自带的Diagrams 去查看jar包冲突相当费劲 ~ ,安装个插件即可快速解决该问题 打开Settings,搜索maven helper,并安装 安装完成后,直接打开pom文件,点击Dependency Analyzer 删除冲突jar包,在…

GLSL学习教程博客

http://blog.csdn.net/racehorse/article/details/6593719

1185 城市名排序

1185 城市名排序 Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 3989 | Solved : 2049 Description 从键盘输入n个城市名,进行升序排序并输出。 Input 第一行输入一个整数n,表示有n个城市&#xff0…

osg基本图元

OSG绘制几何体学习总结(超全)在osg中,场景图形采用一种自顶向下的,分层的树状数据结构来组织空间数据集,以提高渲染的效率 场景图形树结构的顶部是一个根节点,从根节点向下延伸,各个组节点中均包…

kafka如何彻底删除topic及数据

前言: 删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景,总…

如何用css设计出商品购物图片

代码: 常见问题:背景填充时候图片大小不一致、重复等等问题,建议在插入图片的时候最好不用img标签直接在div中添加背景图片,有利于对背景图片的更改。 插入图片:background-image: url(../img/product-auto/benz-amg-s…

OLTP、OLAP与HTAP 区别

OLTP On-Line Transaction Processing联机事务处理过程(OLTP) 也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。 这样做的最大优点…

osg布告板技术(Billboard)

公告牌技术,即billboard技术,在3D游戏中有着广泛的应用.它的本质就是用预先做好的几幅 位图来代替3D物体,极大地节省资源和提高速度.仔细观察<<魔法门>>系列游戏,它的精灵,树木,物 品都是二维图象,但由于它始终朝向观察者,你根本看不到它"扁"的一面,所以…

1224 哥德巴赫猜想(2)

1224 哥德巴赫猜想&#xff08;2&#xff09; Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1564 | Solved : 629 Description 所谓哥德巴赫猜想&#xff0c;就是指任何一个大于2的偶数&#xff0c;都可以写成两个素数的和…

Hbase 查看 rowkey在哪个region中

首先我们先了解下 hbase:meta 表&#xff0c;hbase是指的namespace&#xff0c;meta是表名&#xff0c;这张表存储的是整个集群的Region信息。 hbase:meta表的一个rowkey对应一个region&#xff0c;rowkey设计如下: 表名,region的startRowkey,region创建时的时间戳,EcodedName …

osg坐标系转换

osg中将局部坐标系下的点坐标换算成全局坐标系下点的坐标 标签&#xff1a; matrixlist2012-05-17 16:27 2940人阅读 评论(1) 收藏 举报分类&#xff1a;osg&#xff08;7&#xff09; 坐标变换版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 今天…

1295 爱翻译

1295 爱翻译 Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 390 | Solved : 80 Description 英语是现在世界第一大语言&#xff0c;所以学好英语是very important&#xff0c; 但是宁波大学的某个大牛说&#xff1a;“我不怕…