interpolateAtOffset()的偏移参数范围

问题描述 投票:1回答:1

[GLSL 4.6和GLSL ES 3.2规范都说:

此函数[interpolateAtOffset]支持的偏移量的范围和粒度取决于实现。

这似乎过于开放,无用。我应该如何知道哪些将在多个供应商中真正起作用?标准中是否至少指定了最小支持范围?如果不是,我可以依靠的主要供应商是否支持某些事实?

opengl opengl-es glsl vulkan glsles
1个回答
1
投票

对于Vulkan,the 1.2 specification要求使用minInterpolationOffsetmaxInterpolationOffsetsubPixelInterpolationOffsetBits报告范围和粒度,其中:

minInterpolationOffsetmaxInterpolationOffset值描述了支持的插值偏移的闭合间隔:[minInterpolationOffsetmaxInterpolationOffset]。 ULP由subPixelInterpolationOffsetBits确定。如果subPixelInterpolationOffsetBits为4,这将提供(1/24)= 0.0625的增量,因此支持的插值偏移范围将为[-0.5,0.4375]。

基于规范要求的最小值,如果支持sampleRateShading,则可以至少依赖[-0.5,0.4375]。

如果OpenGL规范中有相关的部分,我还没有找到。

© www.soinside.com 2019 - 2024. All rights reserved.