【发布时间】:2014-07-04 03:59:52
【问题描述】:
对于我的游戏,我正在尝试实现一个自定义着色器来创建缩放模糊效果(我在使用着色器方面还很陌生,所以如果我使用了不恰当的术语,请多多包涵)。我的项目中有 .fsh 着色器文件,我正在尝试使用 SKShader 应用它。
我用这个创建着色器:
let testShader = SKShader(fileNamed: "ZoomBlur.fsh");
我的着色器将两个制服作为输入,blurCenter (vec2) 和 blurSize (float),所以我尝试将它们添加到我的着色器中:
testShader.addUniform(SKUniform(name: "blurSize", float: 50);
尝试添加 blurCenter 时,似乎没有 vec2 的初始化程序,只有浮点数和纹理。看class reference,看来我应该可以用这个了:
testShader.addUniform(SKUniform(name: "blurCenter", floatVector2: ...);
...但是 Xcode 会抛出这个错误:
Incorrect argument label in call (have 'name:floatVector2:', expected 'name:float:')
如何添加 vec2 制服?我完全错过了什么吗?
【问题讨论】: