我有一个简单的金属CiwarpKernel
:
float2 MyWarp(destination dest, float offset)
{
return float2(dest.coord().x + offset, dest.coord().y);
}
和:
class MyWarpFilter : CIFilter
{
var inputImage: CIImage?
var inputOffset: Float = 100.0
static var kernel: CIWarpKernel =
{ () -> CIWarpKernel in
let url = Bundle.main.url(forResource: "MyWarp", withExtension: "ci.metallib")!
let data = try! Data(contentsOf: url)
return try! CIWarpKernel(functionName: "MyWarp", fromMetalLibraryData: data) <== ERROR
}()
override var outputImage : CIImage?
{
get
{
guard let input = inputImage else { return nil }
let roiCallback: CIKernelROICallback =
{ _, rect -> CGRect in
return CGRect(x: rect.minX, y: rect.minY, width: input.extent.width, height: input.extent.height)
}
let arguments: [Any] = [inputOffset]
return MyWarpFilter.kernel.apply(extent: input.extent,
roiCallback: roiCallback,
image: input, arguments: arguments)
}
}
}
当我运行它时,我得到以下运行时错误(在上面用<==error
指示的行):
Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: Foundation._GenericObjCError.nilError
如果我删除第二个mywarp()
参数,使用参数[]
运行筛选器,并有一个硬编码的偏移量,就不会有错误(并且筛选器会按偏移量翻译图像)。
我向CiwarpKernel
传递参数做错了什么?
用iOS模拟器14.4/Xcode 12.4运行代码时,我得到以下错误:(不确定我做错了什么,或者这只是运行时版本的问题。)
Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=CIKernel Code=4 "(null)" UserInfo={CINonLocalizedDescriptionKey=If specified, destination must be the last parameter of a CIKernel function.}
因此,至少您可能需要将参数destination dest
移动到最后一个:
float2 MyWarp(float offset, destination dest)
{
return float2(dest.coord().x + offset, dest.coord().y);
}
核心图像内核的金属着色语言
destination
内核参数类型,允许访问当前正在计算的像素的位置。此参数必须是内核函数的最后一个参数,对于CiWarpKernel
是必需的,对于CicolorKernel
和CiKernel
是可选的。
我尝试将参数从命令行传递到gradle。 我的身材是: 当我这样做时: 我得到这个: 我的问题是我应该为main提供什么?任何java文件包的名称?有具体的路径吗?什么应该是真正的源集?
为了实现BrowserStack自动化,我已经将testNG与cucumber集成在一起,我希望在初始化浏览器之前为其设置功能。因此,当我通过testing.xml文件将功能作为参数传递给@before方法时,我会得到以下错误- *io.cucumber.java.invalidMethodSignatureException:用Before、After、BeforeStep或AfterStep注
问题内容: 在flask中,我可以这样做: 并且如果foo.html包含,页面将会显示。但是,如果有一条通往foo的路线怎么办: 在这种情况下,如果我仍然希望这种逻辑发生,那么进入foo.html的唯一方法是通过: 因此,如何使该变量传递到路由,这样我不必在加载路由之前重写重写该路由计算的逻辑代码? 问题答案: 你可以将消息作为显式URL参数传递(正确编码),也可以在重定向之前将消息存储到(coo
金属模式:金属参数 当使用 金属工作流程(相对于镜面工作流程)时,表面的发射率和光照通过金属度和平滑度修改。 当使用这种流程时,仍然会生成镜面反射,但是看起来是否真实,取决于设置的金属度和平滑度,而不是一个明确定义的开关。 金属模式不仅仅适用于看起来有金属质感的材质!这种模式之所以为称为金属模式,是因为你可以通过它控制物体表面的金属或非金属程度(译注:是否是金属或非金属,以及程度)。 金属参数 材
问题内容: 我有一个詹金斯工作,带有“主动选择参数”和“主动选择反应参数”。 我试图调用詹金斯的工作,并使用管道脚本传递参数值。但是,我收到以下错误: 参数’ActiveChoicesParam’不具有App_Build期望的类型。转换为有效选择参数。 参数’ActiveChoicesReactiveParam’不具有App_Build期望的类型。转换为活动选择反应参数。 它们(Dev和Serve
我正在使用Java Webstart运行一个应用程序,但它需要在使用Java9+运行时打开一个模块: