openGL之API学习(二零五)GL_MAX_TEXTURE_UNITS GL_MAX_TEXTURE_IMAGE_UNITS_ARB GL_MAX_COMBINED_TEXTURE_IM纹理单元数

这篇博客介绍了OpenGL中关于纹理单元的相关参数,如GL_MAX_TEXTURE_UNITS(固定功能渲染的纹理单元),GL_MAX_TEXTURE_IMAGE_UNITS(片段着色器访问纹理贴图的单元),GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS(顶点和片段着色器组合访问的纹理单元)。内容详细展示了如何获取这些最大值,并解释了它们在图形渲染中的作用和限制。

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

int  maxFFPTextureUnits;
int  maxGPUTextureUnits;
int  maxCOBTextureUnits;
int  maxTextureCoords;        
glGetIntegerv( GL_MAX_TEXTURE_UNITS, &maxFFPTextureUnits );//4
glGetIntegerv( GL_MAX_TEXTURE_IMAGE_UNITS_ARB, &maxGPUTextureUnits );//32
glGetIntegerv( GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &maxCOBTextureUnits );//192
glGetIntegerv( GL_MAX_TEXTURE_COORDS , &maxTextureCoords );//8

GL_MAX_TEXTURE_UNITS
指示支持的常规纹理单元的数量。每个常规纹理单元包括纹理坐标集和纹理图像单元。常规纹理单元可用于固定功能(非着色器)渲染。该值必须至少为2。可以从顶点和片段着色器访问其他纹理坐标集和纹理图像单元。

GL_MAX_TEXTURE_IMAGE_UNITS

即可用于从片段着色器访问纹理贴图的最大支持纹理图像单位。该值必须至少为2。

GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
即支持的最大纹理图像单位,可用于从顶点着色器和片段处理器访问纹理贴图。如果顶点着色器和片段处理阶段都访问相同的纹理图像单元,则这将被视为使用两个纹理图像单元来克服此限制。该值必须至少为2。

GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS是所有不同阶段着色器能使用的纹理单元数量的总和,每个阶段着色器使用32个纹理单元,6个阶段着色器可使用6*32=192个纹理单元。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值