From 39e414403e124f21d684b744254e74539caceeb1 Mon Sep 17 00:00:00 2001 From: HOSOKAWA Kenchi Date: Tue, 24 May 2011 00:13:44 +0900 Subject: [PATCH] shaderplaid Signed-off-by: HOSOKAWA Kenchi --- dev4/Shader/Gabor.fx | 2 +- dev4/Shader/Gabor.ps | Bin 628 -> 832 bytes dev4/Shader/Grating.fx | 43 ++++++++++++++++++++++++++++++ dev4/Shader/Grating.ps | Bin 0 -> 628 bytes dev4/Shader/Plaid.fx | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ dev4/Shader/Plaid.ps | Bin 0 -> 1000 bytes test4/PsychlopsMain.cs | 6 ++--- 7 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 dev4/Shader/Grating.fx create mode 100644 dev4/Shader/Grating.ps create mode 100644 dev4/Shader/Plaid.fx create mode 100644 dev4/Shader/Plaid.ps diff --git a/dev4/Shader/Gabor.fx b/dev4/Shader/Gabor.fx index e588bb6..095d01f 100644 --- a/dev4/Shader/Gabor.fx +++ b/dev4/Shader/Gabor.fx @@ -50,7 +50,7 @@ float4 main(float2 uv : TEXCOORD) : COLOR //float _r = rp(uv)*sigma*4.0; //float env = exp( -(_r*_r) / 2.0 ) * alpha; float _r = rp(uv)*8; - float env = 1.0;//exp( -(_r*_r) / (2.0) ) * alpha; + float env = exp( -(_r*_r) / (2.0) ) * alpha; float _x = sin(orientation)*uv[0]-cos(orientation)*uv[1]; float l = 0.5+env*contrast*0.5*cos(frequency*_x + phase); diff --git a/dev4/Shader/Gabor.ps b/dev4/Shader/Gabor.ps index 1d39b76bdee40d6de969a761d7ab9f1d4ee0a2f4..cdc54db9cb2e54d29aa22ef7b51400704afffa94 100644 GIT binary patch literal 832 zcma)&KTq3G6vdAnLIPD2sccmxEF`4TAwp3>jgUwwOOapz>V*YasS%OVICb2C?ID)% z4LUwnd&yE*+QQJK8#`;h1WVm>pF>&?m1_I?z59Fj&v_Sin*K_g*nGF~<{5w=G>{d! zhz|?SH!g~1W18+$47iu)GtDNk$RF5+VM1poEHP|~?8$^(8CD>xOqkc{9eYR^E?nO1 zX$9RV^!gEwLjU6@zuP)N5Vrkpv!0T2uyIqf4Zmh+xu7wxL&+Zr2$(wi8 zpRez#TQ|Z>CSEni@n#WTCbu5ne(@e%UM2C1we!KCA$*2BiQ}&f{LX1gUUOc?XGU8X za#P@^fYFdl9{^JvzW8Hvb;-mFgPQ(pPw~vnI1uZ+50&>*UHL~YYvyt}|D4ah7i6|Y zokff^1@f~Mf0|rbaMhftZBwHw+?>n4Xmq7|kxcT1m04qkmg%#Z58=ayJgEnO^KehI yzLw&g^q+GRuXy1%7fROh9 literal 628 zcma)&ze~eF6vtos8$|=U3I;(?hf<0y7Qw1r6zZV0a|t!2ftu7Lf^H`+b@dOB8=R7* zi@J!oy194lKjC8h-ldJ;WRjP=_xaxYagP#V_#JLh?R0N{iHHIifu*nrpA^y_vGiaG zI0|LxN^m>_SVGd7nB7a3!nuW*JxG=Wn~z!Bwme67JqiMp6qy~!872>+~<=%`}`948{2n-K}GN^ zc;Nf5IQTY+t1gRCz`xl67~AG7sQKxCV8_W W=d?c_%^=6nceKx`(8nwciGBbOA#kk# diff --git a/dev4/Shader/Grating.fx b/dev4/Shader/Grating.fx new file mode 100644 index 0000000..88d73b8 --- /dev/null +++ b/dev4/Shader/Grating.fx @@ -0,0 +1,43 @@ +/// 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); + + +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 +{ + 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; +} diff --git a/dev4/Shader/Grating.ps b/dev4/Shader/Grating.ps new file mode 100644 index 0000000000000000000000000000000000000000..1d39b76bdee40d6de969a761d7ab9f1d4ee0a2f4 GIT binary patch literal 628 zcma)&ze~eF6vtos8$|=U3I;(?hf<0y7Qw1r6zZV0a|t!2ftu7Lf^H`+b@dOB8=R7* zi@J!oy194lKjC8h-ldJ;WRjP=_xaxYagP#V_#JLh?R0N{iHHIifu*nrpA^y_vGiaG zI0|LxN^m>_SVGd7nB7a3!nuW*JxG=Wn~z!Bwme67JqiMp6qy~!872>+~<=%`}`948{2n-K}GN^ zc;Nf5IQTY+t1gRCz`xl67~AG7sQKxCV8_W W=d?c_%^=6nceKx`(8nwciGBbOA#kk# literal 0 HcmV?d00001 diff --git a/dev4/Shader/Plaid.fx b/dev4/Shader/Plaid.fx new file mode 100644 index 0000000..e8635d1 --- /dev/null +++ b/dev4/Shader/Plaid.fx @@ -0,0 +1,69 @@ +/// Amplitude of Grating +/// 0 +/// 1 +/// 0.5 +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); + +/// Amplitude of Grating2 +/// 0 +/// 1 +/// 0.5 +float contrast2 : register(C5); + +/// Phase of Grating2 +/// 0 +/// 100 +/// 100 +float frequency2: register(C6); + +/// Phase of Grating2 +/// 0 +/// 6.283184 +/// 0 +float phase2: register(C7); + +/// Orientation of Grating2 +/// 0 +/// 6.283184 +/// 0.785398 +float orientation2: register(C8); + + +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 +{ + float _x1 = sin(orientation)*uv[0]-cos(orientation)*uv[1]; + float _x2 = sin(orientation2)*uv[0]-cos(orientation2)*uv[1]; + float l = 0.5 + + contrast*0.5*cos(frequency*_x1 + phase) + + contrast2*0.5*cos(frequency2*_x2 + phase2); + + float4 color = float4(l,l,l,1.0); + return color; +} diff --git a/dev4/Shader/Plaid.ps b/dev4/Shader/Plaid.ps new file mode 100644 index 0000000000000000000000000000000000000000..31eee86a0409e37832f2c2f436c95305aa30e1bf GIT binary patch literal 1000 zcma))zi-n(6vw|#(!@;!K}G6-_+eEb0Yg+-v{HmbfG!}F0gA;~S;18!mAE+Wz;=kG z{1=|>B@3`1#0VQBQa99*9kF1(?`$7U7{K=3z4v+d-hJOCsO9;u{0TN5-?@7pz-5aQ znaxFfSa2?oy%$W!LKB~a^ZCkA!vfi|Vc#^9oo&OuYt|$?XV?$T8e~g`)p<@0Hra|{ zXEdvmoi=P)vliJ!!-nBFj{HfCEXx4dFK_WwF&8^g@cbYc4`2MTT!hgm7{`7*3dbjH z7yG;ZBq(M&lWli<6%R(kD4c{lv2*p&HRs;u)~2(y>pu-5XCr*JKiZ?w@3}X6{k7Ge zyS}zAdLDw8gl_Wc=gKWA8XR>$-#+Tz|0sNs98iN&s$PV*$*ogg-uRuj@3Qpz&DV#A zec>JQEKTL-_)z8zF3GjgVc%1IHK@}*P8xuGicg>kpOveh0N0V zscN%EhlAqlQirv<&zn|x7CicxGWTV1uB|8}sp721c&eCug2`E;$4mZCi=}JKYhk|V znW