Opengl 什么时候应该使用多个纹理单元?

Opengl 什么时候应该使用多个纹理单元?,opengl,Opengl,何时应该通过glActiveTexture命令使用多个纹理单元(纹理0和纹理1)?从我看到的示例中,可以在纹理单元TEXTURE0上使用多个纹理。例如,在使用法线贴图、视差贴图、地形纹理时,需要使用多纹理 详细来说,对于法线贴图,您需要模型的漫反射纹理单元,但也需要法线贴图,并且需要对两种纹理进行采样,但是您不能为两种纹理激活同一通道,您需要激活TEXTURE0和TEXTURE1,并将它们绑定到各自的id纹理 激活它们并使用颜色缓冲区中的这些纹理绘制模型后,可以将它们用于其他纹理 将它们视为激活

何时应该通过glActiveTexture命令使用多个纹理单元(纹理0和纹理1)?从我看到的示例中,可以在纹理单元TEXTURE0上使用多个纹理。

例如,在使用法线贴图、视差贴图、地形纹理时,需要使用多纹理

详细来说,对于法线贴图,您需要模型的漫反射纹理单元,但也需要法线贴图,并且需要对两种纹理进行采样,但是您不能为两种纹理激活同一通道,您需要激活
TEXTURE0
TEXTURE1
,并将它们绑定到各自的id纹理

激活它们并使用颜色缓冲区中的这些纹理绘制模型后,可以将它们用于其他纹理


将它们视为激活GPU上不同纹理通道的标志。

使用多个纹理(使用纹理X绘制对象a,使用纹理Y绘制对象B)和多纹理之间存在差异。多重纹理意味着使用纹理X和Y绘制对象A。生成的颜色基于各种“纹理环境”状态(或着色器,如果使用它们);该状态告诉OpenGL如何将两个纹理的值组合成一种颜色

如果使用固定函数,则每个纹理都有自己的纹理坐标集。计算的最终颜色值基于这些纹理坐标在其相应纹理上获取的颜色。这些纹理颜色通过纹理环境输入,纹理环境是应用于计算最终颜色的那些颜色的一系列操作

如果您使用着色器,那么您几乎可以做任何您想做的事情。动态生成纹理坐标,使用任意操作组合纹理“颜色”,等等

纹理单元用于进行多重纹理