在计算着色器中,我可以看到双三次是一个选项,但前提是定义了 __HAVE_BICUBIC_FILTERING__
。当我将 bicubic 设置为过滤选项时,出现语法错误。 Linear 或Nearest 编译良好。我正在 MacOS 上构建 metal 2。
另一种方法是使用采样器描述符在 CPU 上定义采样器,但那里也没有双三次选项。
this thread中的评论讨论他们无法设置双三次。
我搜索了 metal shading language specification ,那里根本没有提到双三次。任何帮助将不胜感激。
最佳答案
这取决于设备类型、操作系统(版本和类型)以及处理器架构。 以下代码可以在以下配置上轻松编译:iOS 15、iPhone 12/13、Xcode 13。
#if defined(__HAVE_BICUBIC_FILTERING__)
constexpr sampler textureSampler (mag_filter::bicubic, min_filter::bicubic);
const half4 colorSample = colorTexture.sample (textureSampler, in.textureCoordinate);
return float4(colorSample);
#endif
关于metal - 是否可以在 Metal 中使用双三次采样器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69505204/