У меня проблема, и это очень раздражает. Я хочу использовать простой Shader
, чтобы вернуть цвета всех пикселей в изображении, но просто назначение сценария Shader
окажется проблемой. я не знаю PixelBender сценарий, и я не собираюсь изучать его слишком много, так как я только хочу, чтобы использовать его для этой простой функции, но из примеров, которые я построил этот простой скрипт:AS3 - PixelBender Shader ArgumentError
<languageVersion : 1.0;>
kernel PixelColourShader
< namespace : "puggsoy";
vendor : "Puggsoy";
version : 1;
>
{
input image4 src;
output pixel4 dst;
void
evaluatePixel()
{
dst = sampleNearest(src, outCoord());
}
}
Вот простой AS3 сценарий я сделал, чтобы проверить его загрузку:
package
{
import flash.display.Shader;
import flash.display.Sprite;
import flash.utils.ByteArray;
public class Main extends Sprite
{
[Embed(source = "PixelColourShader.pbj", mimeType = "application/octet-stream")]
private var PixelColourShader:Class;
private var shader:Shader;
public function Main():void
{
shader = new Shader(new PixelColourShader() as ByteArray);
}
}
}
Я просмотрел множество примеров, и я уверен, что это правильный путь, чтобы загрузить его. Тем не менее, это всегда дает эту ошибку во время работы:
[Fault] exception, information=ArgumentError: Error #2004: One of the parameters is invalid.
и я понятия не имею, почему. Из того, что я вижу, параметр полностью действителен.
Я делаю это в приложении AIR с помощью FlashDevelop с помощью Flex 4 SDK.
Это странно. Я не могу много предложить, но я только что проверил ваш код в Flash CS5.5, и он скомпилирован и работает нормально, поэтому я не думаю, что вы делаете что-то не так (и само ядро, очевидно, почти идентично шаблону скрипт). –