原文:http://www.pixelbender.cn/?p=59
使用 Shader 对象的 data 属性可以设置着色器输入和参数,还可以确定特定着色器是否需要输入或参数。
识别着色器输入和参数
var shaderData:ShaderData = myShader.data;
// 着色器输入
var inputs:Vector.<ShaderInput> = new Vector.<ShaderInput>();
// 着色器参数
var parameters:Vector.<ShaderParameter> = new Vector.<ShaderParameter>();
// 着色器元标签,namespace、vendor等
var metadata:Vector.<String> = new Vector.<String>();
for (var prop:String in shaderData)
{
if (shaderData[prop] is ShaderInput)
{
inputs[inputs.length] = shaderData[prop];
}else if (shaderData[prop] is ShaderParameter)
{
parameters[parameters.length] = shaderData[prop];
}else
{
metadata[metadata.length] = shaderData[prop];
}
}
// do something with the inputs or properties
指定着色器输入值
myShader.data.src.input = image.bitmapData;
指定着色器参数值
myShader.data.brightness.value = [75]