Texture and sampler

本文深入解析OpenGL中的Texture Image Unit概念,解释其与Sampler、Sampler Object、Texture Object之间的关系及作用。详细介绍了Texture Image Unit如何处理纹理资源,并阐述了Sampler Object中包含的sampling state属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做OpenGL4.5的驱动,顺便也做一下笔记,zz

Texture image unit

是gpu 上处理texture的一种资源,各家的实现不一样,所以数量也不一样,从逻辑上可以理解:一个texture unit  上有spec上规定的所有的texture target(TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,等等)

Sampler

是一种特殊的uniform;sampler类型的作用 是确定texture unit 上相应的target绑定的texture object在texture lookup(就是spec上规定的一些采样函数) 的时候被使用,sampler的值是确定哪一个texture unit 被访问;例如:

sampler2D 1 表示 TEXTURE1上 的TEXTURE_2D target 绑定的texture object  将被处理

Sampler Object

就是对sampling state的封装,主要包含 wrap Mode,filter mode,compare function,compare  mode,min/max lod,

border color,lodbias..。一个sampler object  可以同时被绑定到多个texture unit

Texture Object

一个texture object 由texture image 和sampling state 组成 。当一个texture unit上的sampler object 和texture object 同时存在时,texture object下的sampling state将失效;texture image主要包含sample count,sample buffer,维度信息,minmap的信息,

texture format,swizzle mode,等等

一个texture unit 的一个target 一次只能绑定一个texture object,

一个texture unit一次只能执行一个texture target 绑定的texture  object

一个texture object  可以同时被绑定到不同texture  unit 的相同texture target 上

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值