sure,here it is:
Shader "Perlin_test"
{
Properties
{
scale ("scale", Float) = 1
speed ("speed", Float) = 1
}
SubShader
{
Pass
{
CGPROGRAM
#pragma target 3.0
#pragma vertex vert
#pragma fragment frag
const int B = 8;
const int BM = 7;
const int N = 128;
float const g3Table[54] =
{
0.7548294,0.7548294,0.1078328,
0.5345225,0.5345225,0.2672612,
0.6666667,0.6666667,0.3333333,
-0.3312946,-0.3312946,-0.3312946,
-0.2407717,-0.2407717,0.4815434,
-0.2182179,-0.2182179,-0.8728715,
-0.808122,-0.808122,-0.5050763,
-0.766261,-0.766261,-0.2873479,
0.7548294,0.7548294,0.1078328,
0.5345225,0.5345225,0.2672612,
0.6666667,0.6666667,0.3333333,
-0.3312946,-0.3312946,-0.3312946,
-0.2407717,-0.2407717,0.4815434,
-0.2182179,-0.2182179,-0.8728715,
-0.808122,-0.808122,-0.5050763,
-0.766261,-0.766261,-0.2873479,
0.7548294,0.7548294,0.1078328,
0.5345225,0.5345225,0.2672612
};
int const pTable[18] =
{
0,6,1,5,3,2,7,4,0,6,
1,5,3,2,7,4,0,6
};
uniform float4 _Time;
uniform float scale;
uniform float speed;
float s_curve(float t)
{
return t * t * (3.0F - 2.0F * t);
}
float lerp (float t, float a, float b)
{
return a + t * (b - a);
}
void setup (float value, out int b0, out int b1, out float r0, out float r1)
{
float t = value + N;
//b0 = ((int)t) BM;
//b1 = (b0+1) BM;
b0 = ((int)t) % BM;
b1 = (b0+1) % BM;
r0 = t - (int)t;
r1 = r0 - 1.0F;
}
float at2(float rx, float ry, float x, float y) { return rx * x + ry * y; }
float at3(float rx, float ry, float rz, float x, float y, float z) { return rx * x + ry * y + rz * z; }
float perlinNoise(float x, float y, float z)
{
int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11;
float rx0, rx1, ry0, ry1, rz0, rz1, sy, sz, a, b, c, d, t, u, v;
int i, j;
setup(x, bx0, bx1, rx0, rx1); //<--- no use out when passing???
setup(y, by0, by1, ry0, ry1); //<--- no use out when passing???
setup(z, bz0, bz1, rz0, rz1); //<--- no use out when passing???
i = pTable[ bx0 ];
j = pTable[ bx1 ];
b00 = pTable[ i + by0 ];
b10 = pTable[ j + by0 ];
b01 = pTable[ i + by1 ];
b11 = pTable[ j + by1 ];
t = s_curve(rx0);
sy = s_curve(ry0);
sz = s_curve(rz0);
u = at3(rx0,ry0,rz0, g3Table[ b00 + bz0]*3, g3Table[ b00 + bz0]*3+1, g3Table[ b00 + bz0]*3+2);
v = at3(rx1,ry0,rz0, g3Table[ b10 + bz0]*3, g3Table[ b10 + bz0]*3+1, g3Table[ b10 + bz0]*3+2);
a = lerp(t, u, v);
u = at3(rx0,ry1,rz0, g3Table[ b01 + bz0]*3, g3Table[ b01 + bz0]*3+1, g3Table[ b01 + bz0]*3+2);
v = at3(rx1,ry1,rz0, g3Table[ b11 + bz0]*3, g3Table[ b11 + bz0]*3+1, g3Table[ b11 + bz0]*3+2);
b = lerp(t, u, v);
c = lerp(sy, a, b);
u = at3(rx0,ry0,rz1, g3Table[ b00 + bz1]*3, g3Table[ b00 + bz1]*3+1, g3Table[ b00 + bz1]*3+2);
v = at3(rx1,ry0,rz1, g3Table[ b10 + bz1]*3, g3Table[ b10 + bz1]*3+1, g3Table[ b10 + bz1]*3+2);
a = lerp(t, u, v);
u = at3(rx0,ry1,rz1, g3Table[ b01 + bz1]*3, g3Table[ b01 + bz1]*3+1, g3Table[ b01 + bz1]*3+2);
v = at3(rx1,ry1,rz1,g3Table[ b11 + bz1]*3, g3Table[ b11 + bz1]*3+1, g3Table[ b11 + bz1]*3+2);
b = lerp(t, u, v);
d = lerp(sy, a, b);
return lerp(sz, c, d);
}
struct a2v
{
float4 vertex : POSITION;
float4 color : COLOR;
};
struct v2f {
float4 pos : POSITION;
float4 color : COLOR;
};
v2f vert(a2v IN)
{
v2f OUT;
float timex = _Time.y * speed + 0.1365143;
float timey = _Time.y * speed + 1.21688;
float timez = _Time.y * speed + 2.5564;
IN.vertex.x += perlinNoise(timex + IN.vertex.x, timex + IN.vertex.y, timex + IN.vertex.z) * scale;
IN.vertex.y += perlinNoise(timey + IN.vertex.x, timey + IN.vertex.y, timey + IN.vertex.z) * scale;
IN.vertex.z += perlinNoise(timez + IN.vertex.x, timez + IN.vertex.y, timez + IN.vertex.z) * scale;
float4 pos = float4(IN.vertex.xyz, 1.0);
OUT.pos = mul(glstate.matrix.mvp, pos);
OUT.color = IN.color;
return OUT;
}
half4 frag( v2f IN ) : COLOR {
half4 OUT;
OUT = IN.color;
return OUT;
}
ENDCG
} // Pass
} // SubShader
} // Shader
Unity’s compiler can and will behave oddly for no discernible reason if you want something complex out of it,so better get used to it. :?
EDIT:
Here’s the ASM it made from it also,if the Cg wont run,see what it says about compiled version.
Shader "Perlin_test"
{
Properties
{
scale ("scale", Float) = 1
speed ("speed", Float) = 1
}
SubShader
{
Pass
{
Program "" {
// Vertex combos: 1, instructions: 604 to 604
// Fragment combos: 1, instructions: 1 to 1, texreads: 0 to 0
SubProgram "opengl " {
Keywords { }
Bind "vertex", Vertex
Bind "color", Color
Local 1, ([BM],0,0,0)
Local 2, ([N],0,0,0)
Local 3, ([g3Table0],0,0,0)
Local 4, ([g3Table1],0,0,0)
Local 5, ([g3Table2],0,0,0)
Local 6, ([g3Table3],0,0,0)
Local 7, ([g3Table4],0,0,0)
Local 8, ([g3Table5],0,0,0)
Local 9, ([g3Table6],0,0,0)
Local 10, ([g3Table7],0,0,0)
Local 11, ([g3Table8],0,0,0)
Local 12, ([g3Table9],0,0,0)
Local 13, ([g3Table10],0,0,0)
Local 14, ([g3Table11],0,0,0)
Local 15, ([g3Table12],0,0,0)
Local 16, ([g3Table13],0,0,0)
Local 17, ([g3Table14],0,0,0)
Local 18, ([g3Table15],0,0,0)
Local 19, ([g3Table16],0,0,0)
Local 20, ([g3Table17],0,0,0)
Local 21, ([g3Table18],0,0,0)
Local 22, ([g3Table19],0,0,0)
Local 23, ([g3Table20],0,0,0)
Local 24, ([g3Table21],0,0,0)
Local 25, ([g3Table22],0,0,0)
Local 26, ([g3Table23],0,0,0)
Local 27, ([g3Table24],0,0,0)
Local 28, ([g3Table25],0,0,0)
Local 29, ([g3Table26],0,0,0)
Local 30, ([g3Table27],0,0,0)
Local 31, ([g3Table28],0,0,0)
Local 32, ([g3Table29],0,0,0)
Local 33, ([g3Table30],0,0,0)
Local 34, ([g3Table31],0,0,0)
Local 35, ([g3Table32],0,0,0)
Local 36, ([g3Table33],0,0,0)
Local 37, ([g3Table34],0,0,0)
Local 38, ([g3Table35],0,0,0)
Local 39, ([g3Table36],0,0,0)
Local 40, ([g3Table37],0,0,0)
Local 41, ([g3Table38],0,0,0)
Local 42, ([g3Table39],0,0,0)
Local 43, ([g3Table40],0,0,0)
Local 44, ([g3Table41],0,0,0)
Local 45, ([g3Table42],0,0,0)
Local 46, ([g3Table43],0,0,0)
Local 47, ([g3Table44],0,0,0)
Local 48, ([g3Table45],0,0,0)
Local 49, ([g3Table46],0,0,0)
Local 50, ([g3Table47],0,0,0)
Local 51, ([g3Table48],0,0,0)
Local 52, ([g3Table49],0,0,0)
Local 53, ([g3Table50],0,0,0)
Local 54, ([g3Table51],0,0,0)
Local 55, ([g3Table52],0,0,0)
Local 56, ([g3Table53],0,0,0)
Local 57, ([pTable0],0,0,0)
Local 58, ([pTable1],0,0,0)
Local 59, ([pTable2],0,0,0)
Local 60, ([pTable3],0,0,0)
Local 61, ([pTable4],0,0,0)
Local 62, ([pTable5],0,0,0)
Local 63, ([pTable6],0,0,0)
Local 64, ([pTable7],0,0,0)
Local 65, ([pTable8],0,0,0)
Local 66, ([pTable9],0,0,0)
Local 67, ([pTable10],0,0,0)
Local 68, ([pTable11],0,0,0)
Local 69, ([pTable12],0,0,0)
Local 70, ([pTable13],0,0,0)
Local 71, ([pTable14],0,0,0)
Local 72, ([pTable15],0,0,0)
Local 73, ([pTable16],0,0,0)
Local 74, ([pTable17],0,0,0)
Local 75, [_Time]
Local 76, ([scale],0,0,0)
Local 77, ([speed],0,0,0)
"3.0-!!ARBvp1.0
# 604 instructions
PARAM c[83] = { { 0.13651431, 2, 3, 1 },
program.local[1..77],
state.matrix.mvp,
{ 0.5, 0, 1.21688, 2.5564001 } };
TEMP R0;
TEMP R1;
TEMP R2;
TEMP R3;
TEMP R4;
TEMP R5;
ADDRESS A0;
MOV R0.x, c[77];
MUL R0.y, R0.x, c[75];
ADD R0.w, R0.y, c[0].x;
ADD R1.y, R0.w, vertex.position.z;
ADD R0.x, R1.y, c[2];
ABS R1.x, R0;
RCP R0.z, c[1].x;
FLR R1.x, R1;
SLT R1.z, R1.y, -c[2].x;
ADD R1.y, -R1.x, -R1.x;
MAD R3.y, R1, R1.z, R1.x;
MUL R1.x, R3.y, R0.z;
FRC R1.x, R1;
MUL R1.z, R1.x, c[1].x;
ABS R1.x, R1.z;
ADD R1.x, R1, c[82];
FLR R1.w, R1.x;
ADD R1.y, R0.w, vertex.position.x;
ADD R0.x, R0, -R3.y;
ADD R2.x, -R1.w, -R1.w;
SLT R2.y, R1.z, c[82];
MAD R1.w, R2.x, R2.y, R1;
ADD R1.x, R1.y, c[2];
ABS R1.z, R1.x;
FLR R1.z, R1;
SLT R2.x, R1.y, -c[2];
ADD R1.y, -R1.z, -R1.z;
MAD R2.y, R1, R2.x, R1.z;
MUL R1.z, R2.y, R0;
ADD R1.x, R1, -R2.y;
ADD R1.y, R1.w, c[0].w;
MUL R1.y, R0.z, R1;
FRC R1.z, R1;
MUL R2.z, R1, c[1].x;
ABS R1.z, R2;
FRC R1.y, R1;
MUL R1.y, R1, c[1].x;
ABS R2.x, R1.y;
ADD R1.z, R1, c[82].x;
ADD R2.x, R2, c[82];
ADD R2.y, R1.x, -c[0].w;
SLT R2.w, R2.z, c[82].y;
FLR R1.z, R1;
ADD R2.z, -R1, -R1;
MAD R1.z, R2, R2.w, R1;
SLT R2.z, R1.y, c[82].y;
FLR R2.x, R2;
ADD R1.y, -R2.x, -R2.x;
MAD R2.x, R1.y, R2.z, R2;
ADD R2.z, R0.w, vertex.position.y;
ADD R1.y, R1.z, c[0].w;
MUL R1.y, R1, R0.z;
FRC R2.w, R1.y;
ADD R0.w, R2.z, c[2].x;
MUL R3.w, R2, c[1].x;
ABS R1.y, R0.w;
FLR R1.y, R1;
SLT R2.w, R2.z, -c[2].x;
ADD R2.z, -R1.y, -R1.y;
MAD R2.z, R2, R2.w, R1.y;
ABS R1.y, R3.w;
MUL R2.w, R2.z, R0.z;
ADD R0.w, R0, -R2.z;
ADD R1.y, R1, c[82].x;
FLR R1.y, R1;
FRC R2.w, R2;
MUL R2.w, R2, c[1].x;
ABS R3.x, R2.w;
ADD R3.x, R3, c[82];
ADD R2.z, R0.w, -c[0].w;
ADD R3.z, -R1.y, -R1.y;
SLT R3.w, R3, c[82].y;
MAD R1.y, R3.z, R3.w, R1;
FLR R3.x, R3;
SLT R3.z, R2.w, c[82].y;
ADD R2.w, -R3.x, -R3.x;
MAD R3.z, R2.w, R3, R3.x;
ARL A0.x, R1.y;
ADD R3.w, c[A0.x + 57].x, R3.z;
ARL A0.x, R3.w;
ADD R4.x, R2, c[A0.x + 57];
ARL A0.x, R1.z;
ADD R4.y, R3.z, c[A0.x + 57].x;
ARL A0.x, R4.y;
ADD R4.z, R2.x, c[A0.x + 57].x;
ADD R2.w, R3.z, c[0];
MUL R2.w, R0.z, R2;
FRC R2.w, R2;
MUL R3.x, R2.w, c[1];
ABS R2.w, R3.x;
ADD R2.w, R2, c[82].x;
SLT R3.z, R3.x, c[82].y;
FLR R2.w, R2;
ADD R3.x, -R2.w, -R2.w;
MAD R2.w, R3.x, R3.z, R2;
ARL A0.x, R1.z;
ADD R3.x, R2.w, c[A0.x + 57];
ARL A0.x, R1.y;
ADD R1.z, c[A0.x + 57].x, R2.w;
ARL A0.x, R3.x;
ADD R1.y, R2.x, c[A0.x + 57].x;
ARL A0.x, R1.z;
ADD R2.x, c[A0.x + 57], R2;
ARL A0.x, R2.x;
MOV R2.x, c[A0.x + 3];
MAD R2.w, R2.x, c[0].z, c[0];
MUL R3.z, R2, R2.w;
MUL R2.w, c[A0.x + 3].x, R2.y;
ARL A0.x, R1.y;
ADD R1.y, R0.x, -c[0].w;
MAD R2.w, R2, c[0].z, R3.z;
MOV R3.y, c[A0.x + 3].x;
MAD R3.z, R3.y, c[0], c[0].w;
MAD R2.x, R2, c[0].z, c[0].y;
MAD R2.x, R1.y, R2, R2.w;
MUL R2.w, R1.x, c[A0.x + 3].x;
MUL R3.z, R2, R3;
ARL A0.x, R4.z;
MAD R2.w, R2, c[0].z, R3.z;
MAD R3.y, R3, c[0].z, c[0];
MAD R2.w, R1.y, R3.y, R2;
MOV R3.y, c[A0.x + 3].x;
MAD R4.z, R3.y, c[0], c[0].w;
MUL R3.z, R1.x, c[A0.x + 3].x;
ARL A0.x, R4.x;
MUL R4.z, R0.w, R4;
ADD R2.x, R2, -R2.w;
MOV R4.x, c[A0.x + 3];
MAD R4.z, R3, c[0], R4;
MAD R3.z, R4.x, c[0], c[0].w;
MAD R3.y, R3, c[0].z, c[0];
MAD R3.y, R1, R3, R4.z;
MUL R4.z, R0.w, R3;
MUL R3.z, R2.y, c[A0.x + 3].x;
MAD R3.z, R3, c[0], R4;
MAD R4.x, R4, c[0].z, c[0].y;
MAD R1.y, R1, R4.x, R3.z;
ADD R4.x, R1.y, -R3.y;
MAD R3.z, -R1.x, c[0].y, c[0];
MUL R1.y, R1.x, R1.x;
MUL R1.y, R1, R3.z;
MAD R3.y, R1, R4.x, R3;
MAD R2.x, R1.y, R2, R2.w;
ARL A0.x, R4.y;
ADD R2.w, R1, c[A0.x + 57].x;
ARL A0.x, R3.x;
ADD R3.x, R1.w, c[A0.x + 57];
ARL A0.x, R3.w;
ADD R3.z, R1.w, c[A0.x + 57].x;
ARL A0.x, R2.w;
MOV R3.w, c[A0.x + 3].x;
MAD R4.x, R3.w, c[0].z, c[0].w;
ARL A0.x, R2.w;
MUL R2.w, R1.x, c[A0.x + 3].x;
ARL A0.x, R3.z;
MUL R4.x, R0.w, R4;
ADD R2.x, R2, -R3.y;
MOV R3.z, c[A0.x + 3].x;
MAD R4.x, R2.w, c[0].z, R4;
MAD R2.w, R3.z, c[0].z, c[0];
MAD R3.w, R3, c[0].z, c[0].y;
MAD R3.w, R0.x, R3, R4.x;
MUL R4.x, R0.w, R2.w;
MUL R2.w, R2.y, c[A0.x + 3].x;
ARL A0.x, R1.z;
ADD R1.z, c[A0.x + 57].x, R1.w;
ARL A0.x, R3.x;
MOV R1.w, c[A0.x + 3].x;
ARL A0.x, R3.x;
MUL R1.x, R1, c[A0.x + 3];
ARL A0.x, R1.z;
MUL R2.y, R2, c[A0.x + 3].x;
MAD R2.w, R2, c[0].z, R4.x;
MAD R3.z, R3, c[0], c[0].y;
MAD R2.w, R0.x, R3.z, R2;
MAD R3.z, R1.w, c[0], c[0].w;
MUL R3.x, R2.z, R3.z;
ADD R2.w, R2, -R3;
MOV R1.z, c[A0.x + 3].x;
MAD R3.x, R1, c[0].z, R3;
MAD R1.x, R1.z, c[0].z, c[0].w;
MUL R1.x, R2.z, R1;
MAD R1.w, R1, c[0].z, c[0].y;
MAD R1.w, R0.x, R1, R3.x;
MAD R1.x, R2.y, c[0].z, R1;
MAD R1.z, R1, c[0], c[0].y;
MAD R1.x, R0, R1.z, R1;
ADD R1.x, R1, -R1.w;
MAD R1.z, R1.y, R2.w, R3.w;
MAD R1.x, R1.y, R1, R1.w;
ADD R1.y, R1.x, -R1.z;
MAD R1.x, -R0.w, c[0].y, c[0].z;
MUL R0.w, R0, R0;
MUL R0.w, R0, R1.x;
MAD R1.x, R0.w, R1.y, R1.z;
MAD R0.w, R0, R2.x, R3.y;
ADD R1.y, R0.w, -R1.x;
MAD R0.w, -R0.x, c[0].y, c[0].z;
MUL R0.x, R0, R0;
MUL R0.x, R0, R0.w;
ADD R0.w, R0.y, c[82].z;
MAD R0.x, R0, R1.y, R1;
MAD R0.x, R0, c[76], vertex.position;
ADD R1.z, R0.x, R0.w;
ADD R1.x, R1.z, c[2];
ADD R2.z, vertex.position.y, R0.w;
ADD R2.w, vertex.position.z, R0;
ABS R1.y, R1.x;
SLT R1.w, R1.z, -c[2].x;
FLR R1.y, R1;
ADD R1.z, -R1.y, -R1.y;
MAD R1.y, R1.z, R1.w, R1;
MUL R1.z, R0, R1.y;
ADD R1.y, R1.x, -R1;
FRC R1.z, R1;
MUL R1.w, R1.z, c[1].x;
ABS R1.z, R1.w;
ADD R1.z, R1, c[82].x;
ADD R3.w, R1.y, -c[0];
FLR R1.z, R1;
SLT R2.x, R1.w, c[82].y;
ADD R1.w, -R1.z, -R1.z;
MAD R2.x, R1.w, R2, R1.z;
ADD R1.z, R2.x, c[0].w;
MUL R1.z, R0, R1;
FRC R1.z, R1;
MUL R1.w, R1.z, c[1].x;
ABS R1.z, R1.w;
ADD R1.z, R1, c[82].x;
FLR R1.z, R1;
SLT R2.y, R1.w, c[82];
ADD R1.w, -R1.z, -R1.z;
MAD R2.y, R1.w, R2, R1.z;
MUL R1.x, R1.y, R1.y;
MAD R1.z, -R1.y, c[0].y, c[0];
MUL R1.z, R1.x, R1;
ADD R1.x, R2.z, c[2];
ABS R1.w, R1.x;
ADD R0.w, R2, c[2].x;
FLR R1.w, R1;
SLT R3.x, R2.z, -c[2];
ADD R2.z, -R1.w, -R1.w;
MAD R4.x, R2.z, R3, R1.w;
ABS R1.w, R0;
ADD R1.x, R1, -R4;
MUL R2.z, R0, R4.x;
ADD R4.x, R1, -c[0].w;
SLT R3.x, R2.w, -c[2];
FLR R1.w, R1;
ADD R2.w, -R1, -R1;
MAD R1.w, R2, R3.x, R1;
FRC R2.w, R2.z;
MUL R3.y, R2.w, c[1].x;
MUL R2.z, R0, R1.w;
FRC R2.w, R2.z;
ADD R0.w, R0, -R1;
MUL R2.w, R2, c[1].x;
ABS R2.z, R3.y;
ABS R3.x, R2.w;
ADD R2.z, R2, c[82].x;
ADD R3.x, R3, c[82];
ADD R1.w, R0, -c[0];
SLT R3.z, R3.y, c[82].y;
FLR R2.z, R2;
ADD R3.y, -R2.z, -R2.z;
MAD R2.z, R3.y, R3, R2;
ADD R3.y, R2.z, c[0].w;
MUL R3.y, R0.z, R3;
SLT R3.z, R2.w, c[82].y;
FLR R3.x, R3;
ADD R2.w, -R3.x, -R3.x;
MAD R3.x, R2.w, R3.z, R3;
ADD R2.w, R3.x, c[0];
FRC R3.y, R3;
MUL R3.z, R3.y, c[1].x;
MUL R2.w, R0.z, R2;
FRC R3.y, R2.w;
MUL R3.y, R3, c[1].x;
ABS R2.w, R3.z;
ADD R2.w, R2, c[82].x;
ABS R4.z, R3.y;
FLR R2.w, R2;
SLT R4.y, R3.z, c[82];
ADD R3.z, -R2.w, -R2.w;
MAD R3.z, R3, R4.y, R2.w;
ADD R4.y, R4.z, c[82].x;
ARL A0.x, R2.y;
ADD R2.w, c[A0.x + 57].x, R3.z;
FLR R4.y, R4;
SLT R4.z, R3.y, c[82].y;
ADD R3.y, -R4, -R4;
MAD R3.y, R3, R4.z, R4;
ARL A0.x, R2.w;
ADD R4.y, c[A0.x + 57].x, R3;
ARL A0.x, R2.x;
ADD R4.z, R3, c[A0.x + 57].x;
ARL A0.x, R4.y;
MOV R3.z, c[A0.x + 3].x;
MAD R4.w, R3.z, c[0].z, c[0];
MUL R4.y, c[A0.x + 3].x, R3.w;
MUL R5.x, R4, R4.w;
ARL A0.x, R4.z;
ADD R4.w, R3.y, c[A0.x + 57].x;
ARL A0.x, R4.w;
MAD R4.y, R4, c[0].z, R5.x;
MOV R4.w, c[A0.x + 3].x;
MAD R5.x, R4.w, c[0].z, c[0].w;
MAD R3.z, R3, c[0], c[0].y;
MAD R3.z, R1.w, R3, R4.y;
MUL R4.y, R1, c[A0.x + 3].x;
ARL A0.x, R2.x;
ADD R2.x, R2.z, c[A0.x + 57];
MUL R5.x, R4, R5;
ARL A0.x, R2.x;
MAD R4.w, R4, c[0].z, c[0].y;
MAD R4.y, R4, c[0].z, R5.x;
MAD R4.y, R1.w, R4.w, R4;
ADD R4.w, R3.y, c[A0.x + 57].x;
ADD R3.z, R3, -R4.y;
ARL A0.x, R2.y;
ADD R2.y, c[A0.x + 57].x, R2.z;
ARL A0.x, R4.w;
MAD R3.z, R1, R3, R4.y;
MUL R4.w, R1.y, c[A0.x + 3].x;
MOV R4.y, c[A0.x + 3].x;
ARL A0.x, R2.y;
ADD R2.z, R3.y, c[A0.x + 57].x;
MAD R3.y, R4, c[0].z, c[0].w;
ARL A0.x, R2.z;
MUL R3.y, R1.x, R3;
MOV R2.z, c[A0.x + 3].x;
MAD R4.w, R4, c[0].z, R3.y;
MAD R3.y, R2.z, c[0].z, c[0].w;
MAD R4.y, R4, c[0].z, c[0];
MAD R4.w, R1, R4.y, R4;
MUL R4.y, R1.x, R3;
MUL R3.y, R3.w, c[A0.x + 3].x;
ARL A0.x, R2.y;
ADD R2.y, R3.x, c[A0.x + 57].x;
MAD R3.y, R3, c[0].z, R4;
MAD R2.z, R2, c[0], c[0].y;
MAD R1.w, R1, R2.z, R3.y;
ARL A0.x, R2.y;
ADD R1.w, R1, -R4;
MAD R1.w, R1.z, R1, R4;
ADD R2.y, R3.z, -R1.w;
MUL R3.z, R3.w, c[A0.x + 3].x;
MOV R2.z, c[A0.x + 3].x;
ARL A0.x, R2.x;
MAD R2.x, R2.z, c[0].z, c[0].w;
ADD R3.y, R3.x, c[A0.x + 57].x;
ARL A0.x, R3.y;
MUL R2.x, R1, R2;
MOV R3.y, c[A0.x + 3].x;
MAD R2.x, R3.z, c[0].z, R2;
MAD R3.z, R3.y, c[0], c[0].w;
MAD R2.z, R2, c[0], c[0].y;
MAD R2.x, R0.w, R2.z, R2;
MUL R2.z, R1.y, c[A0.x + 3].x;
MUL R3.z, R1.x, R3;
MAD R2.z, R2, c[0], R3;
ARL A0.x, R4.z;
ADD R3.z, R3.x, c[A0.x + 57].x;
MAD R3.y, R3, c[0].z, c[0];
MAD R2.z, R0.w, R3.y, R2;
ARL A0.x, R3.z;
ADD R2.x, R2, -R2.z;
MUL R3.y, R1, c[A0.x + 3].x;
MOV R1.y, c[A0.x + 3].x;
ARL A0.x, R2.w;
ADD R2.w, c[A0.x + 57].x, R3.x;
MAD R3.x, R1.y, c[0].z, c[0].w;
ARL A0.x, R2.w;
MUL R3.x, R4, R3;
MAD R2.x, R1.z, R2, R2.z;
MAD R3.y, R3, c[0].z, R3.x;
MOV R2.w, c[A0.x + 3].x;
MAD R3.x, R2.w, c[0].z, c[0].w;
MAD R1.y, R1, c[0].z, c[0];
MAD R1.y, R0.w, R1, R3;
MUL R3.y, R3.w, c[A0.x + 3].x;
MUL R3.x, R4, R3;
MAD R3.x, R3.y, c[0].z, R3;
MAD R2.w, R2, c[0].z, c[0].y;
MAD R2.w, R0, R2, R3.x;
ADD R2.w, R2, -R1.y;
MAD R1.y, R1.z, R2.w, R1;
ADD R1.z, R1.y, -R2.x;
MAD R1.y, -R1.x, c[0], c[0].z;
MUL R1.x, R1, R1;
MUL R1.x, R1, R1.y;
MAD R1.y, R1.x, R1.z, R2.x;
MAD R1.x, R1, R2.y, R1.w;
ADD R1.z, R1.x, -R1.y;
MAD R1.x, -R0.w, c[0].y, c[0].z;
MUL R0.w, R0, R0;
MUL R0.w, R0, R1.x;
MAD R1.x, R0.w, R1.z, R1.y;
ADD R0.w, R0.y, c[82];
MAD R0.y, R1.x, c[76].x, vertex.position;
ADD R1.z, R0.y, R0.w;
ADD R1.y, R1.z, c[2].x;
ABS R1.x, R1.y;
ADD R2.y, R0.x, R0.w;
FLR R1.x, R1;
SLT R1.w, R1.z, -c[2].x;
ADD R1.z, -R1.x, -R1.x;
MAD R2.x, R1.z, R1.w, R1;
MUL R1.x, R0.z, R2;
FRC R1.x, R1;
MUL R1.z, R1.x, c[1].x;
ABS R1.x, R1.z;
SLT R2.z, R1, c[82].y;
ADD R1.x, R1, c[82];
FLR R1.x, R1;
ADD R1.w, -R1.x, -R1.x;
MAD R3.x, R1.w, R2.z, R1;
ADD R1.z, R2.y, c[2].x;
ABS R1.w, R1.z;
ADD R1.y, R1, -R2.x;
ADD R1.x, R3, c[0].w;
FLR R1.w, R1;
SLT R2.z, R2.y, -c[2].x;
ADD R2.y, -R1.w, -R1.w;
MAD R2.w, R2.y, R2.z, R1;
MUL R1.w, R0.z, R1.x;
MUL R1.x, R0.z, R2.w;
FRC R1.w, R1;
MUL R2.z, R1.w, c[1].x;
ABS R1.w, R2.z;
FRC R1.x, R1;
MUL R2.y, R1.x, c[1].x;
ABS R1.x, R2.y;
ADD R1.w, R1, c[82].x;
ADD R1.x, R1, c[82];
ADD R1.z, R1, -R2.w;
FLR R1.w, R1;
FLR R1.x, R1;
SLT R3.y, R2, c[82];
ADD R2.y, -R1.x, -R1.x;
MAD R3.y, R2, R3, R1.x;
ADD R1.x, R3.y, c[0].w;
MUL R1.x, R0.z, R1;
ADD R2.y, -R1.w, -R1.w;
SLT R2.z, R2, c[82].y;
MAD R3.z, R2.y, R2, R1.w;
ADD R2.y, vertex.position.z, R0.w;
FRC R1.x, R1;
MUL R2.z, R1.x, c[1].x;
ABS R0.w, R2.z;
ADD R1.w, R2.y, c[2].x;
ABS R1.x, R1.w;
ADD R0.w, R0, c[82].x;
FLR R1.x, R1;
SLT R3.w, R2.y, -c[2].x;
ADD R2.y, -R1.x, -R1.x;
MAD R2.y, R2, R3.w, R1.x;
FLR R0.w, R0;
MUL R3.w, R0.z, R2.y;
FRC R3.w, R3;
MUL R3.w, R3, c[1].x;
ADD R1.x, -R0.w, -R0.w;
SLT R2.z, R2, c[82].y;
MAD R2.z, R1.x, R2, R0.w;
ABS R0.w, R3;
ADD R1.x, R0.w, c[82];
ARL A0.x, R2.z;
ADD R0.w, c[A0.x + 57].x, R3.z;
ARL A0.x, R3.y;
ADD R3.y, R3.z, c[A0.x + 57].x;
ADD R4.z, R3.x, c[A0.x + 57].x;
SLT R4.x, R3.w, c[82].y;
FLR R1.x, R1;
ADD R3.w, -R1.x, -R1.x;
MAD R1.x, R3.w, R4, R1;
ADD R3.w, R1.x, c[0];
MUL R0.z, R0, R3.w;
ARL A0.x, R2.z;
ADD R4.x, c[A0.x + 57], R3;
FRC R0.z, R0;
MUL R0.z, R0, c[1].x;
ABS R3.z, R0;
ADD R3.z, R3, c[82].x;
FLR R2.z, R3;
SLT R3.x, R0.z, c[82].y;
ADD R0.z, -R2, -R2;
MAD R2.z, R0, R3.x, R2;
ARL A0.x, R3.y;
ADD R0.z, R2, c[A0.x + 57].x;
ARL A0.x, R0.z;
MOV R2.x, c[A0.x + 3];
MAD R0.z, R2.x, c[0], c[0].w;
ADD R3.x, R1.y, -c[0].w;
MUL R2.w, R3.x, R0.z;
MUL R0.z, R1, c[A0.x + 3].x;
MAD R2.w, R0.z, c[0].z, R2;
ADD R0.z, R1.w, -R2.y;
ARL A0.x, R0.w;
ADD R3.z, c[A0.x + 57].x, R2;
ARL A0.x, R3.z;
ADD R2.y, R0.z, -c[0].w;
MAD R2.x, R2, c[0].z, c[0].y;
MAD R3.z, R2.y, R2.x, R2.w;
MOV R1.w, c[A0.x + 3].x;
MAD R2.x, R1.w, c[0].z, c[0].w;
ADD R2.w, R1.z, -c[0];
MUL R3.w, R3.x, R2.x;
MUL R2.x, c[A0.x + 3], R2.w;
ARL A0.x, R4.x;
ADD R4.y, R2.z, c[A0.x + 57].x;
MAD R2.x, R2, c[0].z, R3.w;
MAD R1.w, R1, c[0].z, c[0].y;
MAD R1.w, R2.y, R1, R2.x;
ADD R3.w, R1, -R3.z;
MAD R2.x, -R1.z, c[0].y, c[0].z;
MUL R1.w, R1.z, R1.z;
MUL R1.w, R1, R2.x;
ARL A0.x, R4.y;
MOV R2.x, c[A0.x + 3];
MAD R3.z, R1.w, R3.w, R3;
MAD R3.w, R2.x, c[0].z, c[0];
ARL A0.x, R4.z;
ADD R2.z, R2, c[A0.x + 57].x;
ARL A0.x, R4.y;
MUL R4.y, R2.w, c[A0.x + 3].x;
ARL A0.x, R2.z;
MUL R3.w, R1.y, R3;
MOV R2.z, c[A0.x + 3].x;
MAD R3.w, R4.y, c[0].z, R3;
MAD R4.y, R2.z, c[0].z, c[0].w;
MAD R2.x, R2, c[0].z, c[0].y;
MAD R2.x, R2.y, R2, R3.w;
MUL R3.w, R1.z, c[A0.x + 3].x;
MUL R4.y, R1, R4;
ARL A0.x, R4.x;
MAD R3.w, R3, c[0].z, R4.y;
MAD R2.z, R2, c[0], c[0].y;
MAD R2.y, R2, R2.z, R3.w;
ADD R2.z, R1.x, c[A0.x + 57].x;
ADD R2.x, R2, -R2.y;
MAD R2.x, R1.w, R2, R2.y;
ARL A0.x, R2.z;
MOV R2.y, c[A0.x + 3].x;
MAD R3.w, R2.y, c[0].z, c[0];
ARL A0.x, R4.z;
ADD R4.x, R1, c[A0.x + 57];
ARL A0.x, R2.z;
MUL R2.z, R2.w, c[A0.x + 3].x;
ARL A0.x, R4.x;
MUL R3.w, R1.y, R3;
MOV R4.x, c[A0.x + 3];
MAD R3.w, R2.z, c[0].z, R3;
MAD R2.y, R2, c[0].z, c[0];
MAD R2.y, R0.z, R2, R3.w;
MAD R2.z, R4.x, c[0], c[0].w;
MUL R3.w, R1.y, R2.z;
MUL R2.z, R1, c[A0.x + 3].x;
MAD R2.z, R2, c[0], R3.w;
ARL A0.x, R3.y;
ADD R3.y, R1.x, c[A0.x + 57].x;
MAD R3.w, R4.x, c[0].z, c[0].y;
MAD R3.w, R0.z, R3, R2.z;
ARL A0.x, R3.y;
MOV R2.z, c[A0.x + 3].x;
ARL A0.x, R0.w;
ADD R0.w, c[A0.x + 57].x, R1.x;
ADD R4.x, R2.y, -R3.w;
MAD R2.y, R2.z, c[0].z, c[0].w;
MUL R1.x, R3, R2.y;
ARL A0.x, R3.y;
MUL R1.z, R1, c[A0.x + 3].x;
ARL A0.x, R0.w;
MAD R1.z, R1, c[0], R1.x;
MOV R0.w, c[A0.x + 3].x;
MAD R1.x, R0.w, c[0].z, c[0].w;
MAD R2.y, R2.z, c[0].z, c[0];
MAD R1.z, R0, R2.y, R1;
ADD R3.z, R3, -R2.x;
MUL R1.x, R3, R1;
MUL R2.y, R2.w, c[A0.x + 3].x;
MAD R1.x, R2.y, c[0].z, R1;
MAD R0.w, R0, c[0].z, c[0].y;
MAD R0.w, R0.z, R0, R1.x;
ADD R0.w, R0, -R1.z;
MAD R0.w, R1, R0, R1.z;
MAD R1.x, R1.w, R4, R3.w;
ADD R1.z, R0.w, -R1.x;
MAD R0.w, -R1.y, c[0].y, c[0].z;
MUL R1.y, R1, R1;
MUL R0.w, R1.y, R0;
MAD R1.x, R0.w, R1.z, R1;
MAD R0.w, R0, R3.z, R2.x;
ADD R1.y, R0.w, -R1.x;
MAD R0.w, -R0.z, c[0].y, c[0].z;
MUL R0.z, R0, R0;
MUL R0.z, R0, R0.w;
MAD R0.z, R0, R1.y, R1.x;
MAD R0.z, R0, c[76].x, vertex.position;
MOV R0.w, c[0];
DP4 result.position.w, R0, c[81];
DP4 result.position.z, R0, c[80];
DP4 result.position.y, R0, c[79];
DP4 result.position.x, R0, c[78];
MOV result.color, vertex.color;
END
# 604 instructions, 6 R-regs
"
}
SubProgram "d3d9 " {
Keywords { }
Bind "vertex", Vertex
Bind "color", Color
Local 4, ([BM],0,0,0)
Local 5, ([N],0,0,0)
Local 6, ([g3Table0],0,0,0)
Local 7, ([g3Table1],0,0,0)
Local 8, ([g3Table2],0,0,0)
Local 9, ([g3Table3],0,0,0)
Local 10, ([g3Table4],0,0,0)
Local 11, ([g3Table5],0,0,0)
Local 12, ([g3Table6],0,0,0)
Local 13, ([g3Table7],0,0,0)
Local 14, ([g3Table8],0,0,0)
Local 15, ([g3Table9],0,0,0)
Local 16, ([g3Table10],0,0,0)
Local 17, ([g3Table11],0,0,0)
Local 18, ([g3Table12],0,0,0)
Local 19, ([g3Table13],0,0,0)
Local 20, ([g3Table14],0,0,0)
Local 21, ([g3Table15],0,0,0)
Local 22, ([g3Table16],0,0,0)
Local 23, ([g3Table17],0,0,0)
Local 24, ([g3Table18],0,0,0)
Local 25, ([g3Table19],0,0,0)
Local 26, ([g3Table20],0,0,0)
Local 27, ([g3Table21],0,0,0)
Local 28, ([g3Table22],0,0,0)
Local 29, ([g3Table23],0,0,0)
Local 30, ([g3Table24],0,0,0)
Local 31, ([g3Table25],0,0,0)
Local 32, ([g3Table26],0,0,0)
Local 33, ([g3Table27],0,0,0)
Local 34, ([g3Table28],0,0,0)
Local 35, ([g3Table29],0,0,0)
Local 36, ([g3Table30],0,0,0)
Local 37, ([g3Table31],0,0,0)
Local 38, ([g3Table32],0,0,0)
Local 39, ([g3Table33],0,0,0)
Local 40, ([g3Table34],0,0,0)
Local 41, ([g3Table35],0,0,0)
Local 42, ([g3Table36],0,0,0)
Local 43, ([g3Table37],0,0,0)
Local 44, ([g3Table38],0,0,0)
Local 45, ([g3Table39],0,0,0)
Local 46, ([g3Table40],0,0,0)
Local 47, ([g3Table41],0,0,0)
Local 48, ([g3Table42],0,0,0)
Local 49, ([g3Table43],0,0,0)
Local 50, ([g3Table44],0,0,0)
Local 51, ([g3Table45],0,0,0)
Local 52, ([g3Table46],0,0,0)
Local 53, ([g3Table47],0,0,0)
Local 54, ([g3Table48],0,0,0)
Local 55, ([g3Table49],0,0,0)
Local 56, ([g3Table50],0,0,0)
Local 57, ([g3Table51],0,0,0)
Local 58, ([g3Table52],0,0,0)
Local 59, ([g3Table53],0,0,0)
Local 60, ([pTable0],0,0,0)
Local 61, ([pTable1],0,0,0)
Local 62, ([pTable2],0,0,0)
Local 63, ([pTable3],0,0,0)
Local 64, ([pTable4],0,0,0)
Local 65, ([pTable5],0,0,0)
Local 66, ([pTable6],0,0,0)
Local 67, ([pTable7],0,0,0)
Local 68, ([pTable8],0,0,0)
Local 69, ([pTable9],0,0,0)
Local 70, ([pTable10],0,0,0)
Local 71, ([pTable11],0,0,0)
Local 72, ([pTable12],0,0,0)
Local 73, ([pTable13],0,0,0)
Local 74, ([pTable14],0,0,0)
Local 75, ([pTable15],0,0,0)
Local 76, ([pTable16],0,0,0)
Local 77, ([pTable17],0,0,0)
Local 78, [_Time]
Local 79, ([scale],0,0,0)
Local 80, ([speed],0,0,0)
Matrix 0, [glstate_matrix_mvp]
"vs_3_0
dcl_position v0
dcl_color v1
dcl_position o0
dcl_color o1
def c81, 0.13651431, 0.00000000, 1.00000000, -1.00000000
def c82, 2.00000000, 3.00000000, 0.50000000, 1.00000000
def c83, 1.21687996, 2.55640006, 0, 0
mov r0.x, c78.y
mul r0.x, c80, r0
add r0.z, r0.x, c81.x
add r0.y, r0.z, v0.z
slt r0.w, r0.y, -c5.x
add r0.y, r0, c5.x
abs r1.x, r0.y
frc r1.y, r1.x
add r1.x, r1, -r1.y
max r0.w, -r0, r0
slt r0.w, c81.y, r0
add r1.z, -r0.w, c81
mul r1.z, r1.x, r1
mad r2.x, r0.w, -r1, r1.z
rcp r1.y, c4.x
mul r0.w, r2.x, r1.y
frc r0.w, r0
mul r1.x, r0.w, c4
slt r0.w, r1.x, c81.y
abs r1.x, r1
add r1.x, r1, c82.z
frc r1.z, r1.x
max r0.w, -r0, r0
slt r0.w, c81.y, r0
add r0.y, r0, -r2.x
add r1.x, r1, -r1.z
add r1.w, -r0, c81.z
mul r1.z, r1.x, r1.w
mad r1.w, r0, -r1.x, r1.z
add r0.w, r1, c81.z
mul r1.x, r1.y, r0.w
add r0.w, r0.z, v0.x
frc r2.w, r1.x
slt r1.x, r0.w, -c5
add r0.w, r0, c5.x
abs r1.z, r0.w
frc r2.y, r1.z
max r1.x, -r1, r1
slt r1.x, c81.y, r1
add r1.z, r1, -r2.y
add r2.z, -r1.x, c81
mul r2.y, r1.z, r2.z
mad r2.y, r1.x, -r1.z, r2
add r0.w, r0, -r2.y
mul r3.y, r2.w, c4.x
mul r1.z, r2.y, r1.y
abs r1.x, r3.y
frc r2.z, r1
add r1.x, r1, c82.z
frc r1.z, r1.x
add r2.x, r0.w, c81.w
add r1.x, r1, -r1.z
mul r2.z, r2, c4.x
slt r1.z, r2, c81.y
abs r2.z, r2
add r2.z, r2, c82
frc r2.w, r2.z
max r1.z, -r1, r1
slt r1.z, c81.y, r1
add r2.z, r2, -r2.w
add r3.x, -r1.z, c81.z
mul r2.w, r2.z, r3.x
mad r1.z, r1, -r2, r2.w
slt r3.x, r3.y, c81.y
max r2.w, -r3.x, r3.x
add r2.z, r1, c81
mul r2.z, r2, r1.y
slt r2.w, c81.y, r2
add r3.x, -r2.w, c81.z
mul r3.x, r1, r3
frc r2.z, r2
mad r2.w, r2, -r1.x, r3.x
mul r2.z, r2, c4.x
abs r1.x, r2.z
slt r2.z, r2, c81.y
max r2.z, -r2, r2
add r3.x, r1, c82.z
add r0.z, r0, v0.y
slt r1.x, r0.z, -c5
add r0.z, r0, c5.x
abs r3.y, r0.z
frc r3.z, r3.y
add r3.y, r3, -r3.z
frc r3.z, r3.x
max r1.x, -r1, r1
slt r1.x, c81.y, r1
add r3.w, -r1.x, c81.z
mul r3.w, r3.y, r3
mad r1.x, r1, -r3.y, r3.w
mul r3.y, r1.x, r1
add r0.z, r0, -r1.x
add r3.x, r3, -r3.z
frc r3.y, r3
mul r3.z, r3.y, c4.x
slt r3.y, r3.z, c81
abs r3.z, r3
add r3.z, r3, c82
frc r3.w, r3.z
max r3.y, -r3, r3
slt r3.y, c81, r3
add r3.z, r3, -r3.w
slt r2.z, c81.y, r2
add r4.x, -r3.y, c81.z
mul r4.x, r3.z, r4
mad r3.z, r3.y, -r3, r4.x
add r3.w, -r2.z, c81.z
mul r3.y, r3.x, r3.w
mad r2.z, r2, -r3.x, r3.y
mova a0.x, r2.z
add r3.y, c[a0.x + 60].x, r3.z
add r3.w, r3.z, c81.z
mul r3.x, r1.y, r3.w
mova a0.y, r3
add r3.w, r2, c[a0.y + 60].x
mova a0.y, r1.z
add r4.y, r3.z, c[a0.y + 60].x
mova a0.w, r4.y
add r3.z, r2.w, c[a0.w + 60].x
frc r2.z, r3.x
mul r2.z, r2, c4.x
abs r3.x, r2.z
slt r2.z, r2, c81.y
max r2.z, -r2, r2
slt r1.z, c81.y, r2
mova a0.z, r3.w
add r3.x, r3, c82.z
frc r3.w, r3.x
add r3.x, r3, -r3.w
add r2.z, -r1, c81
mul r2.z, r3.x, r2
mad r1.z, r1, -r3.x, r2
add r2.z, r1, c[a0.y + 60].x
add r1.z, c[a0.x + 60].x, r1
mova a0.x, r2.z
add r3.x, r2.w, c[a0.x + 60]
mova a0.x, r1.z
add r2.w, c[a0.x + 60].x, r2
mova a0.x, r2.w
mova a0.y, r3.x
mov r2.y, c[a0.x + 6].x
mad r1.x, r2.y, c82.y, c82.w
add r2.y, r0.z, c81.w
mul r2.w, r2.y, r1.x
mov r3.x, c[a0.x + 6]
mul r1.x, c[a0.x + 6], r2
mova a0.w, r3.z
mad r3.z, r1.x, c82.y, r2.w
mov r2.w, c[a0.y + 6].x
add r1.x, r0.y, c81.w
mad r3.x, r3, c82.y, c82
mad r3.x, r1, r3, r3.z
mad r2.w, r2, c82.y, c82
mul r3.z, r2.y, r2.w
mul r2.w, r0, c[a0.y + 6].x
mad r3.w, r2, c82.y, r3.z
mov r2.w, c[a0.y + 6].x
mov r3.z, c[a0.w + 6].x
mad r2.w, r2, c82.y, c82.x
mad r2.w, r1.x, r2, r3
mad r3.z, r3, c82.y, c82.w
mul r3.w, r0.z, r3.z
mul r3.z, r0.w, c[a0.w + 6].x
mad r4.x, r3.z, c82.y, r3.w
mov r3.w, c[a0.w + 6].x
mov r3.z, c[a0.z + 6].x
mad r3.w, r3, c82.y, c82.x
mad r4.z, r1.x, r3.w, r4.x
mad r3.z, r3, c82.y, c82.w
mul r4.x, r0.z, r3.z
mul r3.w, r2.x, c[a0.z + 6].x
mov r3.z, c[a0.z + 6].x
add r3.x, r3, -r2.w
mad r3.w, r3, c82.y, r4.x
mad r3.z, r3, c82.y, c82.x
mad r1.x, r1, r3.z, r3.w
add r3.w, r1.x, -r4.z
mad r3.z, -r0.w, c82.x, c82.y
mul r1.x, r0.w, r0.w
mul r1.x, r1, r3.z
mad r3.z, r1.x, r3.w, r4
mad r2.w, r1.x, r3.x, r2
mova a0.x, r4.y
add r3.x, r1.w, c[a0.x + 60]
mova a0.x, r2.z
add r2.z, r1.w, c[a0.x + 60].x
mova a0.z, r3.x
mova a0.x, r2.z
mova a0.y, r3
add r3.x, r1.w, c[a0.y + 60]
mov r2.z, c[a0.z + 6].x
mova a0.y, r3.x
mad r2.z, r2, c82.y, c82.w
mul r3.x, r0.z, r2.z
mul r2.z, r0.w, c[a0.z + 6].x
mad r3.y, r2.z, c82, r3.x
mov r3.x, c[a0.z + 6]
mov r2.z, c[a0.y + 6].x
mad r3.x, r3, c82.y, c82
mad r3.w, r0.y, r3.x, r3.y
mad r2.z, r2, c82.y, c82.w
mul r3.y, r0.z, r2.z
mul r3.x, r2, c[a0.y + 6]
mov r2.z, c[a0.y + 6].x
mova a0.y, r1.z
add r1.z, c[a0.y + 60].x, r1.w
mova a0.y, r1.z
add r2.w, r2, -r3.z
mad r3.x, r3, c82.y, r3.y
mad r2.z, r2, c82.y, c82.x
mad r2.z, r0.y, r2, r3.x
add r3.x, r2.z, -r3.w
mov r2.z, c[a0.x + 6].x
mad r1.w, r2.z, c82.y, c82
mul r1.z, r2.y, r1.w
mul r0.w, r0, c[a0.x + 6].x
mad r1.w, r0, c82.y, r1.z
mov r1.z, c[a0.x + 6].x
mov r0.w, c[a0.y + 6].x
mad r1.z, r1, c82.y, c82.x
mad r1.z, r0.y, r1, r1.w
mul r1.w, r2.x, c[a0.y + 6].x
mad r0.w, r0, c82.y, c82
mul r2.x, r2.y, r0.w
mov r0.w, c[a0.y + 6].x
mad r1.w, r1, c82.y, r2.x
mad r0.w, r0, c82.y, c82.x
mad r0.w, r0.y, r0, r1
add r0.w, r0, -r1.z
mad r1.w, r1.x, r3.x, r3
mad r0.w, r1.x, r0, r1.z
add r1.x, r0.w, -r1.w
mad r0.w, -r0.z, c82.x, c82.y
mul r0.z, r0, r0
mul r0.z, r0, r0.w
mad r0.w, r0.z, r1.x, r1
mad r0.z, r0, r2.w, r3
add r1.x, r0.z, -r0.w
mad r0.z, -r0.y, c82.x, c82.y
mul r0.y, r0, r0
mul r0.y, r0, r0.z
mad r0.z, r0.y, r1.x, r0.w
mad r1.x, r0.z, c79, v0
add r0.y, r0.x, c83.x
add r0.w, r1.x, r0.y
slt r0.z, r0.w, -c5.x
add r0.w, r0, c5.x
abs r1.z, r0.w
frc r1.w, r1.z
max r0.z, -r0, r0
slt r0.z, c81.y, r0
add r1.z, r1, -r1.w
add r2.x, -r0.z, c81.z
mul r1.w, r1.z, r2.x
mad r1.z, r0, -r1, r1.w
mul r0.z, r1.y, r1
frc r0.z, r0
mul r1.w, r0.z, c4.x
slt r0.z, r1.w, c81.y
abs r1.w, r1
add r1.w, r1, c82.z
frc r2.x, r1.w
max r0.z, -r0, r0
slt r0.z, c81.y, r0
add r0.w, r0, -r1.z
add r1.w, r1, -r2.x
add r2.y, -r0.z, c81.z
mul r2.x, r1.w, r2.y
mad r1.w, r0.z, -r1, r2.x
add r0.z, r1.w, c81
mul r0.z, r1.y, r0
frc r0.z, r0
mul r0.z, r0, c4.x
abs r2.x, r0.z
add r2.x, r2, c82.z
frc r2.y, r2.x
slt r0.z, r0, c81.y
add r2.y, r2.x, -r2
max r0.z, -r0, r0
slt r2.x, c81.y, r0.z
add r0.z, v0.y, r0.y
slt r2.z, r0, -c5.x
add r0.z, r0, c5.x
abs r2.w, r0.z
frc r3.x, r2.w
max r2.z, -r2, r2
slt r2.z, c81.y, r2
add r2.w, r2, -r3.x
add r3.y, -r2.z, c81.z
mul r3.x, r2.w, r3.y
mad r4.x, r2.z, -r2.w, r3
add r3.z, -r2.x, c81
mul r3.y, r2, r3.z
mad r2.x, r2, -r2.y, r3.y
add r0.z, r0, -r4.x
mul r2.y, r1, r4.x
mova a0.x, r2
mova a0.z, r1.w
frc r2.x, r2.y
mul r1.w, r2.x, c4.x
slt r1.z, r1.w, c81.y
abs r2.x, r1.w
max r1.w, -r1.z, r1.z
add r1.z, r2.x, c82
slt r1.w, c81.y, r1
frc r2.x, r1.z
add r2.x, r1.z, -r2
add r2.y, -r1.w, c81.z
mul r2.y, r2.x, r2
mad r2.x, r1.w, -r2, r2.y
add r1.w, r2.x, c81.z
mul r1.w, r1.y, r1
add r4.z, r2.x, c[a0.z + 60].x
mad r2.y, -r0.w, c82.x, c82
mul r1.z, r0.w, r0.w
mul r1.z, r1, r2.y
frc r3.x, r1.w
add r0.y, v0.z, r0
slt r1.w, r0.y, -c5.x
add r0.y, r0, c5.x
abs r2.y, r0
frc r2.z, r2.y
add r2.z, r2.y, -r2
max r1.w, -r1, r1
slt r1.w, c81.y, r1
add r2.w, -r1, c81.z
mul r2.w, r2.z, r2
mad r3.z, r1.w, -r2, r2.w
mul r2.z, r1.y, r3
mul r2.y, r3.x, c4.x
abs r1.w, r2.y
frc r2.w, r2.z
add r1.w, r1, c82.z
frc r2.z, r1.w
add r0.y, r0, -r3.z
add r1.w, r1, -r2.z
mul r2.w, r2, c4.x
slt r2.z, r2.w, c81.y
abs r2.w, r2
add r2.w, r2, c82.z
frc r3.x, r2.w
max r2.z, -r2, r2
slt r2.z, c81.y, r2
add r2.w, r2, -r3.x
add r3.y, -r2.z, c81.z
mul r3.x, r2.w, r3.y
mad r2.z, r2, -r2.w, r3.x
slt r2.y, r2, c81
max r2.w, -r2.y, r2.y
slt r2.w, c81.y, r2
add r2.y, r2.z, c81.z
mul r2.y, r1, r2
add r3.x, -r2.w, c81.z
mul r3.x, r1.w, r3
mad r3.y, r2.w, -r1.w, r3.x
add r3.w, r3.y, c[a0.z + 60].x
frc r2.y, r2
mul r2.y, r2, c4.x
slt r1.w, r2.y, c81.y
abs r2.y, r2
add r2.y, r2, c82.z
frc r2.w, r2.y
add r2.w, r2.y, -r2
add r2.y, c[a0.x + 60].x, r3
add r2.x, c[a0.x + 60], r2
max r1.w, -r1, r1
slt r1.w, c81.y, r1
add r3.x, -r1.w, c81.z
mul r3.x, r2.w, r3
mad r2.w, r1, -r2, r3.x
mova a0.y, r2
add r1.w, c[a0.y + 60].x, r2
mova a0.y, r1.w
add r3.x, r0.w, c81.w
mov r3.y, c[a0.y + 6].x
mad r4.x, r3.y, c82.y, c82.w
add r3.y, r0.z, c81.w
mov r3.z, c[a0.y + 6].x
mul r1.w, c[a0.y + 6].x, r3.x
mul r4.x, r3.y, r4
mad r4.y, r1.w, c82, r4.x
mova a0.w, r3
add r1.w, r2, c[a0.w + 60].x
mova a0.w, r1
mov r4.x, c[a0.w + 6]
add r1.w, r0.y, c81
mad r3.z, r3, c82.y, c82.x
mad r3.z, r1.w, r3, r4.y
mad r4.x, r4, c82.y, c82.w
mul r4.y, r3, r4.x
mul r4.x, r0.w, c[a0.w + 6]
mad r4.y, r4.x, c82, r4
mov r4.x, c[a0.w + 6]
mad r4.x, r4, c82.y, c82
mad r4.x, r1.w, r4, r4.y
mova a0.y, r4.z
add r4.y, r2.w, c[a0.y + 60].x
mova a0.z, r4.y
mova a0.x, r2
add r2.w, r2, c[a0.x + 60].x
mova a0.w, r2
add r3.z, r3, -r4.x
mad r3.z, r1, r3, r4.x
mov r4.x, c[a0.z + 6]
mad r4.x, r4, c82.y, c82.w
mov r2.w, c[a0.z + 6].x
mul r4.y, r0.w, c[a0.z + 6].x
mul r2.x, r0.z, r4
mad r4.x, r4.y, c82.y, r2
mov r2.x, c[a0.w + 6]
mad r2.w, r2, c82.y, c82.x
mad r4.y, r1.w, r2.w, r4.x
mad r2.x, r2, c82.y, c82.w
mul r4.x, r0.z, r2
mul r2.w, r3.x, c[a0.w + 6].x
mad r2.w, r2, c82.y, r4.x
add r4.x, r2.z, c[a0.y + 60]
mova a0.y, r4.x
mov r2.x, c[a0.w + 6]
mad r2.x, r2, c82.y, c82
mad r1.w, r1, r2.x, r2
add r2.x, r2.z, c[a0.x + 60]
mova a0.x, r2
mov r4.x, c[a0.y + 6]
add r1.w, r1, -r4.y
mad r1.w, r1.z, r1, r4.y
add r2.x, r3.z, -r1.w
mov r3.z, c[a0.x + 6].x
mad r3.z, r3, c82.y, c82.w
mad r4.x, r4, c82.y, c82.w
mul r2.w, r3.x, c[a0.x + 6].x
mul r3.z, r0, r3
mad r3.z, r2.w, c82.y, r3
mov r2.w, c[a0.x + 6].x
mova a0.x, r3.w
add r3.w, r2.z, c[a0.x + 60].x
mova a0.x, r2.y
add r2.y, c[a0.x + 60].x, r2.z
mova a0.x, r2.y
mov r2.y, c[a0.x + 6].x
mad r2.w, r2, c82.y, c82.x
mad r2.w, r0.y, r2, r3.z
mul r4.x, r0.z, r4
mul r3.z, r0.w, c[a0.y + 6].x
mad r3.z, r3, c82.y, r4.x
mov r4.x, c[a0.y + 6]
mova a0.y, r3.w
mad r3.w, r4.x, c82.y, c82.x
mad r3.w, r0.y, r3, r3.z
mov r3.z, c[a0.y + 6].x
mov r2.z, c[a0.y + 6].x
mad r3.z, r3, c82.y, c82.w
add r2.w, r2, -r3
mul r0.w, r0, c[a0.y + 6].x
mul r3.z, r3.y, r3
mad r0.w, r0, c82.y, r3.z
mad r2.z, r2, c82.y, c82.x
mad r0.w, r0.y, r2.z, r0
mul r2.z, r3.x, c[a0.x + 6].x
mad r2.y, r2, c82, c82.w
mul r3.x, r3.y, r2.y
mov r2.y, c[a0.x + 6].x
mad r2.z, r2, c82.y, r3.x
mad r2.y, r2, c82, c82.x
mad r2.y, r0, r2, r2.z
add r2.y, r2, -r0.w
mad r2.z, r1, r2.w, r3.w
mad r0.w, r1.z, r2.y, r0
add r1.z, r0.w, -r2
mad r0.w, -r0.z, c82.x, c82.y
mul r0.z, r0, r0
mul r0.z, r0, r0.w
mad r0.w, r0.z, r1.z, r2.z
mad r0.z, r0, r2.x, r1.w
add r1.z, r0, -r0.w
mad r0.z, -r0.y, c82.x, c82.y
mul r0.y, r0, r0
mul r0.y, r0, r0.z
mad r0.z, r0.y, r1, r0.w
add r0.y, r0.x, c83
mad r0.x, r0.z, c79, v0.y
add r0.w, r0.x, r0.y
slt r0.z, r0.w, -c5.x
add r2.x, r0.w, c5
abs r0.w, r2.x
frc r1.z, r0.w
max r0.z, -r0, r0
slt r0.z, c81.y, r0
add r0.w, r0, -r1.z
add r1.w, -r0.z, c81.z
mul r1.z, r0.w, r1.w
mad r2.y, r0.z, -r0.w, r1.z
mul r0.z, r1.y, r2.y
add r2.x, r2, -r2.y
frc r0.z, r0
mul r0.w, r0.z, c4.x
slt r0.z, r0.w, c81.y
abs r0.w, r0
add r0.w, r0, c82.z
frc r1.z, r0.w
max r0.z, -r0, r0
slt r0.z, c81.y, r0
add r0.w, r0, -r1.z
add r1.w, -r0.z, c81.z
mul r1.z, r0.w, r1.w
mad r3.w, r0.z, -r0, r1.z
add r0.w, r1.x, r0.y
slt r0.z, r0.w, -c5.x
add r2.z, r0.w, c5.x
abs r0.w, r2.z
frc r1.z, r0.w
max r0.z, -r0, r0
slt r0.z, c81.y, r0
add r0.w, r0, -r1.z
add r1.w, -r0.z, c81.z
add r2.y, r2.x, c81.w
mul r1.z, r0.w, r1.w
add r2.w, r3, c81.z
mul r1.w, r1.y, r2
mad r2.w, r0.z, -r0, r1.z
mul r0.w, r1.y, r2
frc r0.z, r1.w
frc r1.z, r0.w
mul r1.w, r1.z, c4.x
slt r1.z, r1.w, c81.y
mul r0.z, r0, c4.x
abs r0.w, r0.z
abs r1.w, r1
add r1.w, r1, c82.z
frc r3.x, r1.w
max r1.z, -r1, r1
slt r1.z, c81.y, r1
add r2.z, r2, -r2.w
add r1.w, r1, -r3.x
add r3.y, -r1.z, c81.z
mul r3.x, r1.w, r3.y
mad r3.x, r1.z, -r1.w, r3
add r0.w, r0, c82.z
frc r3.y, r0.w
add r1.z, r0.w, -r3.y
add r0.w, r3.x, c81.z
slt r0.z, r0, c81.y
max r1.w, -r0.z, r0.z
mul r0.w, r1.y, r0
slt r1.w, c81.y, r1
frc r0.z, r0.w
mul r0.z, r0, c4.x
abs r0.w, r0.z
add r3.y, -r1.w, c81.z
mul r3.y, r1.z, r3
slt r0.z, r0, c81.y
mad r4.x, r1.w, -r1.z, r3.y
add r0.w, r0, c82.z
frc r1.z, r0.w
max r0.z, -r0, r0
add r3.z, r0.w, -r1
slt r3.y, c81, r0.z
add r0.y, v0.z, r0
slt r0.z, r0.y, -c5.x
add r0.y, r0, c5.x
abs r0.w, r0.y
frc r1.z, r0.w
max r0.z, -r0, r0
slt r0.z, c81.y, r0
add r0.w, r0, -r1.z
add r1.w, -r0.z, c81.z
mul r1.z, r0.w, r1.w
mad r0.z, r0, -r0.w, r1
add r1.w, -r3.y, c81.z
mul r0.w, r3.z, r1
mad r0.w, r3.y, -r3.z, r0
mova a0.x, r0.w
mul r1.z, r1.y, r0
frc r1.z, r1
mul r1.w, r1.z, c4.x
slt r1.z, r1.w, c81.y
abs r1.w, r1
add r1.w, r1, c82.z
frc r3.y, r1.w
max r1.z, -r1, r1
slt r1.z, c81.y, r1
add r0.y, r0, -r0.z
add r1.w, r1, -r3.y
add r3.z, -r1, c81
mul r3.y, r1.w, r3.z
mad r1.z, r1, -r1.w, r3.y
mova a0.y, r3.x
add r3.x, r1.z, c81.z
mul r1.y, r1, r3.x
frc r3.x, r1.y
add r1.y, r3.w, c[a0.y + 60].x
add r0.w, c[a0.x + 60].x, r4.x
add r1.w, r4.x, c[a0.y + 60].x
mova a0.w, r1.y
mul r3.x, r3, c4
slt r1.y, r3.x, c81
abs r3.x, r3
add r3.x, r3, c82.z
frc r3.y, r3.x
max r1.y, -r1, r1
slt r1.y, c81, r1
add r3.x, r3, -r3.y
add r3.z, -r1.y, c81
mul r3.y, r3.x, r3.z
add r3.z, c[a0.x + 60].x, r3.w
mad r1.y, r1, -r3.x, r3
mova a0.x, r1.w
add r3.x, r1.y, c[a0.x + 60]
mova a0.y, r3.x
mov r3.x, c[a0.y + 6]
mov r3.y, c[a0.y + 6].x
mad r3.x, r3, c82.y, c82.w
mova a0.z, r3
mul r3.x, r2.y, r3
mul r2.w, r2.z, c[a0.y + 6].x
mad r2.w, r2, c82.y, r3.x
mova a0.x, r0.w
add r3.x, c[a0.x + 60], r1.y
mova a0.x, r3
mov r0.z, c[a0.x + 6].x
mad r0.z, r0, c82.y, c82.w
mul r3.w, r2.y, r0.z
mov r0.z, c[a0.x + 6].x
add r3.x, r0.y, c81.w
mad r3.y, r3, c82, c82.x
mad r3.z, r3.x, r3.y, r2.w
add r3.y, r2.z, c81.w
mul r2.w, c[a0.x + 6].x, r3.y
mad r2.w, r2, c82.y, r3
mad r0.z, r0, c82.y, c82.x
mad r0.z, r3.x, r0, r2.w
add r3.w, r0.z, -r3.z
add r2.w, r1.y, c[a0.z + 60].x
mova a0.x, r2.w
mov r4.x, c[a0.x + 6]
mad r2.w, -r2.z, c82.x, c82.y
mul r0.z, r2, r2
mul r0.z, r0, r2.w
mad r2.w, r4.x, c82.y, c82
mad r3.z, r0, r3.w, r3
add r3.w, r1.y, c[a0.w + 60].x
mova a0.y, r3.w
mul r1.y, r3, c[a0.x + 6].x
mul r2.w, r2.x, r2
mad r3.w, r1.y, c82.y, r2
mov r2.w, c[a0.y + 6].x
mov r1.y, c[a0.x + 6].x
add r4.x, r1.z, c[a0.z + 60]
mad r1.y, r1, c82, c82.x
mad r1.y, r3.x, r1, r3.w
mad r2.w, r2, c82.y, c82
mul r3.w, r2.x, r2
mul r2.w, r2.z, c[a0.y + 6].x
mad r3.w, r2, c82.y, r3
mov r2.w, c[a0.y + 6].x
mad r2.w, r2, c82.y, c82.x
mad r2.w, r3.x, r2, r3
mova a0.x, r4
add r1.y, r1, -r2.w
mad r1.y, r0.z, r1, r2.w
add r3.w, r1.z, c[a0.w + 60].x
mov r3.x, c[a0.x + 6]
mova a0.y, r3.w
add r2.w, r3.z, -r1.y
mad r3.x, r3, c82.y, c82.w
mul r3.z, r2.x, r3.x
mul r3.x, r3.y, c[a0.x + 6]
mad r3.w, r3.x, c82.y, r3.z
mov r3.x, c[a0.x + 6]
mova a0.x, r1.w
add r1.w, r1.z, c[a0.x + 60].x
mova a0.x, r1.w
mov r3.z, c[a0.y + 6].x
mad r3.x, r3, c82.y, c82
mov r1.w, c[a0.x + 6].x
mad r1.w, r1, c82.y, c82
mad r3.x, r0.y, r3, r3.w
mad r3.z, r3, c82.y, c82.w
mul r3.w, r2.x, r3.z
mul r3.z, r2, c[a0.y + 6].x
mad r3.z, r3, c82.y, r3.w
mov r3.w, c[a0.y + 6].x
mova a0.y, r0.w
add r0.w, c[a0.y + 60].x, r1.z
mova a0.y, r0.w
mad r3.w, r3, c82.y, c82.x
mad r3.z, r0.y, r3.w, r3
mov r0.w, c[a0.y + 6].x
mad r0.w, r0, c82.y, c82
mul r1.w, r2.y, r1
mul r1.z, r2, c[a0.x + 6].x
mad r1.w, r1.z, c82.y, r1
mul r0.w, r2.y, r0
mov r1.z, c[a0.x + 6].x
mad r1.z, r1, c82.y, c82.x
mad r1.z, r0.y, r1, r1.w
mul r2.y, r3, c[a0.y + 6].x
mov r1.w, c[a0.y + 6].x
mad r1.w, r1, c82.y, c82.x
mad r0.w, r2.y, c82.y, r0
mad r0.w, r0.y, r1, r0
add r3.x, r3, -r3.z
add r0.w, r0, -r1.z
mad r1.w, r0.z, r3.x, r3.z
mad r0.z, r0, r0.w, r1
add r0.w, r0.z, -r1
mul r1.z, r2.x, r2.x
mad r0.z, -r2.x, c82.x, c82.y
mul r0.z, r1, r0
mad r0.w, r0.z, r0, r1
mad r0.z, r0, r2.w, r1.y
add r1.y, r0.z, -r0.w
mad r0.z, -r0.y, c82.x, c82.y
mul r0.y, r0, r0
mul r0.y, r0, r0.z
mad r0.y, r0, r1, r0.w
mad r1.z, r0.y, c79.x, v0
mov r1.w, c81.z
mov r1.y, r0.x
dp4 o0.w, r1, c3
dp4 o0.z, r1, c2
dp4 o0.y, r1, c1
dp4 o0.x, r1, c0
mov o1, v1
"
}
SubProgram "opengl " {
Keywords { }
"3.0-!!ARBfp1.0
# 1 instructions, 0 texture reads
MOV result.color, fragment.color.primary;
END
# 1 instructions, 0 R-regs
"
}
SubProgram "d3d9 " {
Keywords { }
"ps_3_0
dcl_color v0
mov_pp oC0, v0
"
}
}
#LINE 166
} // Pass
} // SubShader
} // Shader