OSDN Git Service

test
[psychlops/silverlight.git] / dev4 / Shader / Plaid.fx
1 /// <summary>Amplitude of Grating</summary>\r
2 /// <minValue>0</minValue>\r
3 /// <maxValue>1</maxValue>\r
4 /// <defaultValue>0.5</defaultValue>\r
5 float contrast : register(C1);\r
6 \r
7 /// <summary>Phase of Grating</summary>\r
8 /// <minValue>0</minValue>\r
9 /// <maxValue>100</maxValue>\r
10 /// <defaultValue>100</defaultValue>\r
11 float frequency: register(C2);\r
12 \r
13 /// <summary>Phase of Grating</summary>\r
14 /// <minValue>0</minValue>\r
15 /// <maxValue>6.283184</maxValue>\r
16 /// <defaultValue>0</defaultValue>\r
17 float phase: register(C3);\r
18 \r
19 /// <summary>Orientation of Grating</summary>\r
20 /// <minValue>0</minValue>\r
21 /// <maxValue>6.283184</maxValue>\r
22 /// <defaultValue>0</defaultValue>\r
23 float orientation: register(C4);\r
24 \r
25 /// <summary>Amplitude of Grating2</summary>\r
26 /// <minValue>0</minValue>\r
27 /// <maxValue>1</maxValue>\r
28 /// <defaultValue>0.5</defaultValue>\r
29 float contrast2 : register(C5);\r
30 \r
31 /// <summary>Phase of Grating2</summary>\r
32 /// <minValue>0</minValue>\r
33 /// <maxValue>100</maxValue>\r
34 /// <defaultValue>100</defaultValue>\r
35 float frequency2: register(C6);\r
36 \r
37 /// <summary>Phase of Grating2</summary>\r
38 /// <minValue>0</minValue>\r
39 /// <maxValue>6.283184</maxValue>\r
40 /// <defaultValue>0</defaultValue>\r
41 float phase2: register(C7);\r
42 \r
43 /// <summary>Orientation of Grating2</summary>\r
44 /// <minValue>0</minValue>\r
45 /// <maxValue>6.283184</maxValue>\r
46 /// <defaultValue>0.785398</defaultValue>\r
47 float orientation2: register(C8);\r
48 \r
49 /// <summary>Width of envelope</summary>\r
50 /// <minValue>1</minValue>\r
51 /// <maxValue>1024</maxValue>\r
52 /// <defaultValue>32</defaultValue>\r
53 float SizeH : register(C9);\r
54 \r
55 /// <summary>Height of envelope</summary>\r
56 /// <minValue>1</minValue>\r
57 /// <maxValue>1024</maxValue>\r
58 /// <defaultValue>32</defaultValue>\r
59 float SizeV : register(C10);\r
60 \r
61 \r
62 float rp(float2 uv)\r
63 {\r
64         const float2 Center = float2(0.5,0.5);\r
65         float2 dir = uv - Center; // vector from center to pixel\r
66         float dist = length(dir);\r
67         //dir /= dist;\r
68         return dist;\r
69 }\r
70 \r
71 float4 main(float2 uv : TEXCOORD) : COLOR\r
72 {\r
73         float _x1 = sin(orientation)*uv[0]-cos(orientation)*uv[1];\r
74         float _x2 = sin(orientation2)*uv[0]-cos(orientation2)*uv[1];\r
75         float l = 0.5\r
76                   + contrast*0.5*cos(frequency*_x1 + phase)\r
77                   + contrast2*0.5*cos(frequency2*_x2 + phase2);\r
78         \r
79         float4 color = float4(l,l,l,1.0);\r
80         return color;\r
81 }\r