SCNNode 上的 CIFilter 仅适用于模拟器
CIFilter on SCNNode only works in Simulator
使用 iOS9 对 SceneKit 中的新滤镜功能有点头疼。为了尽可能简化案例,如果我添加以下行:
ship.filters = [CIFilter(name: "CIPixellate", withInputParameters: [kCIInputScaleKey: 30])!]
对于默认的 SceneKit 项目,为模拟器构建和 运行,飞船按预期像素化。如果我在设备上构建和 运行 相同的项目,飞船就会消失。我已经尝试了各种排列、多种设备,甚至在博客文章中进行了几次 SceneKit 演示,它们都存在相同的问题。我只是不确定我错过了什么。
使用 Metal(设备默认设置)时,SceneKit 不支持 CIFilter。请参阅 SCNNode / 过滤器的文档。
如果您需要 CIFilter,您必须明确请求基于 GL 的渲染器(使用 InterfaceBuilder 或 SCNView 的 "renderingAPI" 属性)。
使用 iOS9 对 SceneKit 中的新滤镜功能有点头疼。为了尽可能简化案例,如果我添加以下行:
ship.filters = [CIFilter(name: "CIPixellate", withInputParameters: [kCIInputScaleKey: 30])!]
对于默认的 SceneKit 项目,为模拟器构建和 运行,飞船按预期像素化。如果我在设备上构建和 运行 相同的项目,飞船就会消失。我已经尝试了各种排列、多种设备,甚至在博客文章中进行了几次 SceneKit 演示,它们都存在相同的问题。我只是不确定我错过了什么。
使用 Metal(设备默认设置)时,SceneKit 不支持 CIFilter。请参阅 SCNNode / 过滤器的文档。
如果您需要 CIFilter,您必须明确请求基于 GL 的渲染器(使用 InterfaceBuilder 或 SCNView 的 "renderingAPI" 属性)。