相同的采样器,多个纹理单元,OpenGL

时间:2014-10-31 15:24:11

标签: opengl textures

使用OpenGL(核心配置文件,4.4),将同一个采样器对象同时绑定到2个不同的纹理单元是“合法的”吗?

我的测试显示它有效,但我不知道我的司机是否宽容或是否是一个功能。

1 个答案:

答案 0 :(得分:2)

是的,如下所述,这是完全可以接受的。

OpenGL 4.4 Core Profile Specification - 8.2采样对象 - 第164-165页

  

8.2采样器对象

     
    

当采样器对象绑定到纹理单元时,其状态将取代该纹理单元     绑定到该纹理单元的纹理对象。如果采样器名称为零则绑定     在纹理单元中,当前绑定纹理的采样器状态变为活动状态。 单身     采样器对象可以同时绑定到多个纹理单元。

         

使用以下命令实现采样器对象绑定:

         
      

void glBindSampler (GLuint unit, GLuint sampler);

    
         

unit设置为绑定采样器的纹理单元的从零开始的索引     并且sampler设置为从上次调用返回的采样器对象的名称     的 glGenSamplers

         

如果绑定成功,则不会更改绑定采样器的状态     对象,以及之前对单元的任何绑定都被破坏了。