OpenGL - 在 sampler2D 上使用无绑定纹理会禁用 TextureCubeMapSeamless

OpenGL - Using Bindless Textures on sampler2D disables TextureCubeMapSeamless

我在我的渲染器中使用立方体贴图,并启用了 TextureCubeMapSeamless 在 6 个图像之间进行过滤。工作正常。目前我正在 sampler2D 上试验 ARB_bindless_texture。我的问题是,一旦我使用此扩展,可能会声明其中包含 sampler2D[] 的 UBO 或对 sampler2D 进行显式转换,TextureCubeMapSeamless 将被禁用,并且我在 Cubemap 图像之间有可见的线条。现在无绑定纹理本身就像预期的那样工作。我可以从 sampler2D 读取,输出与“正常”纹理相同。

我的问题是:如何在 sampler2D 上使用 ARB_bindless_texture 并同时启用 TextureCubeMapSeamless? 是不是驱动bug,好像和我有点关系?

据我所知,这不是预期的行为,但需要无绑定的人不太可能有条件地使用无绑定与基于无缝立方体贴图纹理的常规 uniform。所以这可能就是这个错误出现的原因;没人注意到它。

话虽如此,我还是建议切换到 ARB/AMD_seamless_cubemap_per_texture。这种无缝的立方体贴图场 受到无绑定纹理的尊重。 ARB 版本是 pretty widely implemented,特别是因为您使用的是无绑定。