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; +}