metal - 是否可以在 Metal 中使用双三次采样器?

标签 metal

在计算着色器中,我可以看到双三次是一个选项,但前提是定义了 __HAVE_BICUBIC_FILTERING__。当我将 bicubic 设置为过滤选项时,出现语法错误。 LinearNearest 编译良好。我正在 MacOS 上构建 metal 2

另一种方法是使用采样器描述符在 CPU 上定义采样器,但那里也没有双三次选项。

this thread中的评论讨论他们无法设置双三次

我搜索了 metal shading language specification ,那里根本没有提到双三次。任何帮助将不胜感激。

最佳答案

这取决于设备类型、操作系统(版本和类型)以及处理器架构。 以下代码可以在以下配置上轻松编译:iOS 15iPhone 12/13Xcode 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/

相关文章:

ios - 如何在 Swift 2.0 for iOS 中使用 Metal 制作球体?

ios - Metal 纹理格式

ios - 在设备(iOS)上编码 ASTC?

ios - iOS OpenGLES 上 DisparityFloat16 像素格式的纹理采样器值

ios - Metal Shading Language中 float 的比较

ios - 尝试与 Opengl 纹理共享 Metal 纹理

cocoa-touch - ARKit人脸追踪PBR

c++ - 如何将 Eigen 矩阵和 vector 类型转换为 Apple 的 simd 类型以传递给 GPU?

ios - 在 iOS 7 上运行 32 位 arm,在 iOS 8 上运行 64 位

ios - 更新到 iOS 10.1.1 打破了我的游戏