--- /dev/null
+/// <summary>Amplitude of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>1</maxValue>\r
+/// <defaultValue>1</defaultValue>\r
+float contrast : register(C1);\r
+\r
+/// <summary>Phase of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>100</maxValue>\r
+/// <defaultValue>100</defaultValue>\r
+float frequency: register(C2);\r
+\r
+/// <summary>Phase of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>6.283184</maxValue>\r
+/// <defaultValue>0</defaultValue>\r
+float phase: register(C3);\r
+\r
+/// <summary>Orientation of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>6.283184</maxValue>\r
+/// <defaultValue>0</defaultValue>\r
+float orientation: register(C4);\r
+\r
+\r
+float rp(float2 uv)\r
+{\r
+ const float2 Center = float2(0.5,0.5);\r
+ float2 dir = uv - Center; // vector from center to pixel\r
+ float dist = length(dir);\r
+ //dir /= dist;\r
+ return dist;\r
+}\r
+\r
+float4 main(float2 uv : TEXCOORD) : COLOR\r
+{\r
+ float _x = sin(orientation)*uv[0]-cos(orientation)*uv[1];\r
+ float l = 0.5\r
+ + contrast*0.5*cos(frequency*_x + phase);\r
+ \r
+ float4 color = float4(l,l,l,1.0);\r
+ return color;\r
+}\r
--- /dev/null
+/// <summary>Amplitude of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>1</maxValue>\r
+/// <defaultValue>0.5</defaultValue>\r
+float contrast : register(C1);\r
+\r
+/// <summary>Phase of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>100</maxValue>\r
+/// <defaultValue>100</defaultValue>\r
+float frequency: register(C2);\r
+\r
+/// <summary>Phase of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>6.283184</maxValue>\r
+/// <defaultValue>0</defaultValue>\r
+float phase: register(C3);\r
+\r
+/// <summary>Orientation of Grating</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>6.283184</maxValue>\r
+/// <defaultValue>0</defaultValue>\r
+float orientation: register(C4);\r
+\r
+/// <summary>Amplitude of Grating2</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>1</maxValue>\r
+/// <defaultValue>0.5</defaultValue>\r
+float contrast2 : register(C5);\r
+\r
+/// <summary>Phase of Grating2</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>100</maxValue>\r
+/// <defaultValue>100</defaultValue>\r
+float frequency2: register(C6);\r
+\r
+/// <summary>Phase of Grating2</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>6.283184</maxValue>\r
+/// <defaultValue>0</defaultValue>\r
+float phase2: register(C7);\r
+\r
+/// <summary>Orientation of Grating2</summary>\r
+/// <minValue>0</minValue>\r
+/// <maxValue>6.283184</maxValue>\r
+/// <defaultValue>0.785398</defaultValue>\r
+float orientation2: register(C8);\r
+\r
+\r
+float rp(float2 uv)\r
+{\r
+ const float2 Center = float2(0.5,0.5);\r
+ float2 dir = uv - Center; // vector from center to pixel\r
+ float dist = length(dir);\r
+ //dir /= dist;\r
+ return dist;\r
+}\r
+\r
+float4 main(float2 uv : TEXCOORD) : COLOR\r
+{\r
+ float _x1 = sin(orientation)*uv[0]-cos(orientation)*uv[1];\r
+ float _x2 = sin(orientation2)*uv[0]-cos(orientation2)*uv[1];\r
+ float l = 0.5\r
+ + contrast*0.5*cos(frequency*_x1 + phase)\r
+ + contrast2*0.5*cos(frequency2*_x2 + phase2);\r
+ \r
+ float4 color = float4(l,l,l,1.0);\r
+ return color;\r
+}\r