Dummy-Frage, schätze ich. Ich habe einen benutzerdefinierten Shader, der wie folgt aussieht:Einstellen der Pixel-Shader-Uniform-Variable
sampler2D InputTexture; float parameter1, parameter2 etc float4 main(float2 uv : TEXCOORD) : COLOR { float4 result = blah-blah-blah some calculations using parameter1, parameter2 etc. return result; }
Ich versuche, es zu benutzen über Wrapper, der wie folgt aussieht:
class MyShaderEffect : ShaderEffect { private PixelShader _pixelShader = new PixelShader(); public readonly DependencyProperty InputProperty = ShaderEffect.RegisterPixelShaderSamplerProperty("Input", typeof(MyShaderEffect), 0); public MyShaderEffect() { _pixelShader.UriSource = new Uri("MyShader.ps", UriKind.Relative); this.PixelShader = _pixelShader; this.UpdateShaderValue(InputProperty); } public Brush Input { get { return (Brush)this.GetValue(InputProperty); } set { this.SetValue(InputProperty, value); } } }
Also, meine Frage ist: Wie kann ich jene Shader Parameter aus dem C# -Programm?