使用OpenGL(核心配置文件,4.4),将同一个采样器对象同时绑定到2个不同的纹理单元是“合法的”吗?
我的测试显示它有效,但我不知道我的司机是否宽容或是否是一个功能。
答案 0 :(得分:2)
是的,如下所述,这是完全可以接受的。
8.2采样器对象
当采样器对象绑定到纹理单元时,其状态将取代该纹理单元 绑定到该纹理单元的纹理对象。如果采样器名称为零则绑定 在纹理单元中,当前绑定纹理的采样器状态变为活动状态。 单身 采样器对象可以同时绑定到多个纹理单元。
使用以下命令实现采样器对象绑定:
void glBindSampler (GLuint unit, GLuint sampler);
将
unit
设置为绑定采样器的纹理单元的从零开始的索引 并且sampler
设置为从上次调用返回的采样器对象的名称 的glGenSamplers
强>如果绑定成功,则不会更改绑定采样器的状态 对象,以及之前对单元的任何绑定都被破坏了。