是的,共享数据存储意味着从不同的对象访问相同的存储.就像共享指针一样意味着能够从两个不同的位置访问相同的内存.
它与使用采样器对象的不同之处在于它们之间没有相似之处.采样器对象存储采样参数.纹理对象具有不用于采样的参数,例如mipmap范围,混合掩码等.这些不是采样器状态; 它们是纹理状态.
纹理对象也具有特定的纹理类型.相同存储的不同视图可以具有不同的纹理类型(在限制内).你可以拥有GL_TEXTURE_2D一个GL_TEXTURE_2D_ARRAY纹理单层的视图.您可以使用GL_TEXTURE_2D_ARRAY6个或更多层,并GL_TEXTURE_CUBE_MAP从中创建一个.
采样器对象不能这样做.
纹理对象具有内部格式,用于定义如何解释存储.同一存储的不同视图可以具有不同的格式(在限制范围内)采样器不会影响格式.
采样器对象也不能这样做.
您可以使用纹理视图来实现与采样器对象相同的效果吗?不可以.使用采样器,您可以从纹理对象中分离采样参数.这允许您为多个不同的对象使用相同的参数集.因此,您可以更改一个采样器对象并将其与多个纹理一起使用,而无需转到每个纹理并对其进行修改.
它们有两个不同的功能,用于两个不同的目的.