X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=dev5%2FShader%2FGaborAlpha.fx;fp=dev5%2FShader%2FGaborAlpha.fx;h=0a162e8c8f9a33546b0521908ced523a51367179;hb=7fe25aa821826f09903fb14def74d6b0376e3b5a;hp=0000000000000000000000000000000000000000;hpb=af114e9e36fd9c2cdf79f95313e0b8712e253ed3;p=psychlops%2Fsilverlight.git
diff --git a/dev5/Shader/GaborAlpha.fx b/dev5/Shader/GaborAlpha.fx
new file mode 100644
index 0000000..0a162e8
--- /dev/null
+++ b/dev5/Shader/GaborAlpha.fx
@@ -0,0 +1,60 @@
+/// Amplitude of Grating
+/// 0
+/// 1
+/// 1
+float contrast : register(C1);
+
+/// Phase of Grating
+/// 0
+/// 100
+/// 100
+float frequency: register(C2);
+
+/// Phase of Grating
+/// 0
+/// 6.283184
+/// 0
+float phase: register(C3);
+
+/// Orientation of Grating
+/// 0
+/// 6.283184
+/// 0
+float orientation: register(C4);
+
+/// Half bandwidth of envelope
+/// 2
+/// 8
+/// 4
+float sigma : register(C5);
+
+/// Transparency of Figure
+/// 0
+/// 1
+/// 1
+float alpha : register(C6);
+
+
+float rp(float2 uv)
+{
+ const float2 Center = float2(0.5,0.5);
+ float2 dir = uv - Center; // vector from center to pixel
+ float dist = length(dir);
+ //dir /= dist;
+ return dist;
+}
+
+float4 main(float2 uv : TEXCOORD) : COLOR
+//float4 main(float2 uv : VPOS ) : COLOR
+{
+ //float _r = rp(uv)*sigma*4.0;
+ //float env = exp( -(_r*_r) / 2.0 ) * alpha;
+ float _r = rp(uv)*8;
+ float env = exp( -(_r*_r) / (2.0) ) * alpha;
+
+ float _x = sin(orientation)*uv[0]-cos(orientation)*uv[1];
+ float l = 0.5+contrast*0.5*cos(frequency*_x + phase);
+
+ float4 color = float4(l,l,l,1.0);
+ return color;
+}