Created
June 5, 2012 12:18
-
-
Save aras-p/2874666 to your computer and use it in GitHub Desktop.
bump spec temp regs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ---------------------------------------------------------------------------------- | |
// OpenGL | |
SubProgram "opengl " { | |
Keywords { "DIRECTIONAL" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "SHADOWS_OFF" "VERTEXLIGHT_ON" } | |
Bind "vertex" Vertex | |
Bind "tangent" ATTR14 | |
Bind "normal" Normal | |
Bind "texcoord" TexCoord0 | |
Vector 13 [_WorldSpaceCameraPos] | |
Vector 14 [_WorldSpaceLightPos0] | |
Vector 15 [unity_4LightPosX0] | |
Vector 16 [unity_4LightPosY0] | |
Vector 17 [unity_4LightPosZ0] | |
Vector 18 [unity_4LightAtten0] | |
Vector 19 [unity_LightColor0] | |
Vector 20 [unity_LightColor1] | |
Vector 21 [unity_LightColor2] | |
Vector 22 [unity_LightColor3] | |
Vector 23 [unity_SHAr] | |
Vector 24 [unity_SHAg] | |
Vector 25 [unity_SHAb] | |
Vector 26 [unity_SHBr] | |
Vector 27 [unity_SHBg] | |
Vector 28 [unity_SHBb] | |
Vector 29 [unity_SHC] | |
Matrix 5 [_Object2World] | |
Matrix 9 [_World2Object] | |
Vector 30 [unity_Scale] | |
Vector 31 [_MainTex_ST] | |
Vector 32 [_BumpMap_ST] | |
"!!ARBvp1.0 | |
# 75 ALU | |
PARAM c[33] = { { 1, 0 }, | |
state.matrix.mvp, | |
program.local[5..32] }; | |
TEMP R0; | |
TEMP R1; | |
TEMP R2; | |
TEMP R3; | |
TEMP R4; | |
MUL R3.xyz, vertex.normal, c[30].w; | |
DP4 R0.x, vertex.position, c[6]; | |
ADD R1, -R0.x, c[16]; | |
DP3 R3.w, R3, c[6]; | |
DP3 R4.x, R3, c[5]; | |
DP3 R3.x, R3, c[7]; | |
MUL R2, R3.w, R1; | |
DP4 R0.x, vertex.position, c[5]; | |
ADD R0, -R0.x, c[15]; | |
MUL R1, R1, R1; | |
MOV R4.z, R3.x; | |
MAD R2, R4.x, R0, R2; | |
MOV R4.w, c[0].x; | |
DP4 R4.y, vertex.position, c[7]; | |
MAD R1, R0, R0, R1; | |
ADD R0, -R4.y, c[17]; | |
MAD R1, R0, R0, R1; | |
MAD R0, R3.x, R0, R2; | |
MUL R2, R1, c[18]; | |
MOV R4.y, R3.w; | |
RSQ R1.x, R1.x; | |
RSQ R1.y, R1.y; | |
RSQ R1.w, R1.w; | |
RSQ R1.z, R1.z; | |
MUL R0, R0, R1; | |
ADD R1, R2, c[0].x; | |
RCP R1.x, R1.x; | |
RCP R1.y, R1.y; | |
RCP R1.w, R1.w; | |
RCP R1.z, R1.z; | |
MAX R0, R0, c[0].y; | |
MUL R0, R0, R1; | |
MUL R1.xyz, R0.y, c[20]; | |
MAD R1.xyz, R0.x, c[19], R1; | |
MAD R0.xyz, R0.z, c[21], R1; | |
MAD R1.xyz, R0.w, c[22], R0; | |
MUL R0, R4.xyzz, R4.yzzx; | |
MUL R1.w, R3, R3; | |
DP4 R3.z, R0, c[28]; | |
DP4 R3.y, R0, c[27]; | |
DP4 R3.x, R0, c[26]; | |
MAD R1.w, R4.x, R4.x, -R1; | |
MUL R0.xyz, R1.w, c[29]; | |
MOV R1.w, c[0].x; | |
DP4 R2.z, R4, c[25]; | |
DP4 R2.y, R4, c[24]; | |
DP4 R2.x, R4, c[23]; | |
ADD R2.xyz, R2, R3; | |
ADD R0.xyz, R2, R0; | |
ADD result.texcoord[2].xyz, R0, R1; | |
MOV R1.xyz, c[13]; | |
DP4 R2.z, R1, c[11]; | |
DP4 R2.y, R1, c[10]; | |
DP4 R2.x, R1, c[9]; | |
MAD R2.xyz, R2, c[30].w, -vertex.position; | |
MOV R0.xyz, vertex.attrib[14]; | |
MUL R1.xyz, vertex.normal.zxyw, R0.yzxw; | |
MAD R0.xyz, vertex.normal.yzxw, R0.zxyw, -R1; | |
MOV R1, c[14]; | |
MUL R0.xyz, R0, vertex.attrib[14].w; | |
DP4 R3.z, R1, c[11]; | |
DP4 R3.y, R1, c[10]; | |
DP4 R3.x, R1, c[9]; | |
DP3 result.texcoord[1].y, R3, R0; | |
DP3 result.texcoord[3].y, R0, R2; | |
DP3 result.texcoord[1].z, vertex.normal, R3; | |
DP3 result.texcoord[1].x, R3, vertex.attrib[14]; | |
DP3 result.texcoord[3].z, vertex.normal, R2; | |
DP3 result.texcoord[3].x, vertex.attrib[14], R2; | |
MAD result.texcoord[0].zw, vertex.texcoord[0].xyxy, c[32].xyxy, c[32]; | |
MAD result.texcoord[0].xy, vertex.texcoord[0], c[31], c[31].zwzw; | |
DP4 result.position.w, vertex.position, c[4]; | |
DP4 result.position.z, vertex.position, c[3]; | |
DP4 result.position.y, vertex.position, c[2]; | |
DP4 result.position.x, vertex.position, c[1]; | |
END | |
# 75 instructions, 5 R-regs | |
" | |
} | |
// ---------------------------------------------------------------------------------- | |
// D3D9 | |
SubProgram "d3d9 " { | |
Keywords { "DIRECTIONAL" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "SHADOWS_OFF" "VERTEXLIGHT_ON" } | |
Bind "vertex" Vertex | |
Bind "tangent" TexCoord2 | |
Bind "normal" Normal | |
Bind "texcoord" TexCoord0 | |
Matrix 0 [glstate_matrix_mvp] | |
Vector 12 [_WorldSpaceCameraPos] | |
Vector 13 [_WorldSpaceLightPos0] | |
Vector 14 [unity_4LightPosX0] | |
Vector 15 [unity_4LightPosY0] | |
Vector 16 [unity_4LightPosZ0] | |
Vector 17 [unity_4LightAtten0] | |
Vector 18 [unity_LightColor0] | |
Vector 19 [unity_LightColor1] | |
Vector 20 [unity_LightColor2] | |
Vector 21 [unity_LightColor3] | |
Vector 22 [unity_SHAr] | |
Vector 23 [unity_SHAg] | |
Vector 24 [unity_SHAb] | |
Vector 25 [unity_SHBr] | |
Vector 26 [unity_SHBg] | |
Vector 27 [unity_SHBb] | |
Vector 28 [unity_SHC] | |
Matrix 4 [_Object2World] | |
Matrix 8 [_World2Object] | |
Vector 29 [unity_Scale] | |
Vector 30 [_MainTex_ST] | |
Vector 31 [_BumpMap_ST] | |
"vs_2_0 | |
; 78 ALU | |
def c32, 1.00000000, 0.00000000, 0, 0 | |
dcl_position0 v0 | |
dcl_tangent0 v1 | |
dcl_normal0 v2 | |
dcl_texcoord0 v3 | |
mul r3.xyz, v2, c29.w | |
dp4 r0.x, v0, c5 | |
add r1, -r0.x, c15 | |
dp3 r3.w, r3, c5 | |
dp3 r4.x, r3, c4 | |
dp3 r3.x, r3, c6 | |
mul r2, r3.w, r1 | |
dp4 r0.x, v0, c4 | |
add r0, -r0.x, c14 | |
mul r1, r1, r1 | |
mov r4.z, r3.x | |
mad r2, r4.x, r0, r2 | |
mov r4.w, c32.x | |
dp4 r4.y, v0, c6 | |
mad r1, r0, r0, r1 | |
add r0, -r4.y, c16 | |
mad r1, r0, r0, r1 | |
mad r0, r3.x, r0, r2 | |
mul r2, r1, c17 | |
mov r4.y, r3.w | |
rsq r1.x, r1.x | |
rsq r1.y, r1.y | |
rsq r1.w, r1.w | |
rsq r1.z, r1.z | |
mul r0, r0, r1 | |
add r1, r2, c32.x | |
dp4 r2.z, r4, c24 | |
dp4 r2.y, r4, c23 | |
dp4 r2.x, r4, c22 | |
rcp r1.x, r1.x | |
rcp r1.y, r1.y | |
rcp r1.w, r1.w | |
rcp r1.z, r1.z | |
max r0, r0, c32.y | |
mul r0, r0, r1 | |
mul r1.xyz, r0.y, c19 | |
mad r1.xyz, r0.x, c18, r1 | |
mad r0.xyz, r0.z, c20, r1 | |
mad r1.xyz, r0.w, c21, r0 | |
mul r0, r4.xyzz, r4.yzzx | |
mul r1.w, r3, r3 | |
dp4 r3.z, r0, c27 | |
dp4 r3.y, r0, c26 | |
dp4 r3.x, r0, c25 | |
mad r1.w, r4.x, r4.x, -r1 | |
mul r0.xyz, r1.w, c28 | |
add r2.xyz, r2, r3 | |
add r0.xyz, r2, r0 | |
add oT2.xyz, r0, r1 | |
mov r1.w, c32.x | |
mov r1.xyz, c12 | |
dp4 r0.z, r1, c10 | |
dp4 r0.y, r1, c9 | |
dp4 r0.x, r1, c8 | |
mad r3.xyz, r0, c29.w, -v0 | |
mov r1.xyz, v1 | |
mov r0.xyz, v1 | |
mul r1.xyz, v2.zxyw, r1.yzxw | |
mad r1.xyz, v2.yzxw, r0.zxyw, -r1 | |
mul r2.xyz, r1, v1.w | |
mov r0, c10 | |
dp4 r4.z, c13, r0 | |
mov r1, c9 | |
mov r0, c8 | |
dp4 r4.y, c13, r1 | |
dp4 r4.x, c13, r0 | |
dp3 oT1.y, r4, r2 | |
dp3 oT3.y, r2, r3 | |
dp3 oT1.z, v2, r4 | |
dp3 oT1.x, r4, v1 | |
dp3 oT3.z, v2, r3 | |
dp3 oT3.x, v1, r3 | |
mad oT0.zw, v3.xyxy, c31.xyxy, c31 | |
mad oT0.xy, v3, c30, c30.zwzw | |
dp4 oPos.w, v0, c3 | |
dp4 oPos.z, v0, c2 | |
dp4 oPos.y, v0, c1 | |
dp4 oPos.x, v0, c0 | |
" | |
} | |
// ---------------------------------------------------------------------------------- | |
// GLES | |
SubProgram "gles " { | |
Keywords { "DIRECTIONAL" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "SHADOWS_OFF" "VERTEXLIGHT_ON" } | |
"!!GLES | |
#define SHADER_API_GLES 1 | |
#define tex2D texture2D | |
#ifdef VERTEX | |
#define gl_ModelViewProjectionMatrix glstate_matrix_mvp | |
uniform mat4 glstate_matrix_mvp; | |
varying highp vec3 xlv_TEXCOORD3; | |
varying lowp vec3 xlv_TEXCOORD2; | |
varying lowp vec3 xlv_TEXCOORD1; | |
varying highp vec4 xlv_TEXCOORD0; | |
uniform highp vec4 unity_Scale; | |
uniform highp vec4 unity_SHC; | |
uniform highp vec4 unity_SHBr; | |
uniform highp vec4 unity_SHBg; | |
uniform highp vec4 unity_SHBb; | |
uniform highp vec4 unity_SHAr; | |
uniform highp vec4 unity_SHAg; | |
uniform highp vec4 unity_SHAb; | |
uniform highp vec4 unity_LightColor[4]; | |
uniform highp vec4 unity_4LightPosZ0; | |
uniform highp vec4 unity_4LightPosY0; | |
uniform highp vec4 unity_4LightPosX0; | |
uniform highp vec4 unity_4LightAtten0; | |
uniform lowp vec4 _WorldSpaceLightPos0; | |
uniform highp vec3 _WorldSpaceCameraPos; | |
uniform highp mat4 _World2Object; | |
uniform highp mat4 _Object2World; | |
uniform highp vec4 _MainTex_ST; | |
uniform highp vec4 _BumpMap_ST; | |
attribute vec4 _glesTANGENT; | |
attribute vec4 _glesMultiTexCoord0; | |
attribute vec3 _glesNormal; | |
attribute vec4 _glesVertex; | |
void main () | |
{ | |
vec4 tmpvar_1; | |
tmpvar_1.xyz = normalize (_glesTANGENT.xyz); | |
tmpvar_1.w = _glesTANGENT.w; | |
vec3 tmpvar_2; | |
tmpvar_2 = normalize (_glesNormal); | |
highp vec3 shlight; | |
highp vec4 tmpvar_3; | |
lowp vec3 tmpvar_4; | |
lowp vec3 tmpvar_5; | |
tmpvar_3.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw); | |
tmpvar_3.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw); | |
mat3 tmpvar_6; | |
tmpvar_6[0] = _Object2World[0].xyz; | |
tmpvar_6[1] = _Object2World[1].xyz; | |
tmpvar_6[2] = _Object2World[2].xyz; | |
highp vec3 tmpvar_7; | |
tmpvar_7 = (tmpvar_6 * (tmpvar_2 * unity_Scale.w)); | |
highp mat3 tmpvar_8; | |
tmpvar_8[0] = tmpvar_1.xyz; | |
tmpvar_8[1] = (cross (tmpvar_2, tmpvar_1.xyz) * _glesTANGENT.w); | |
tmpvar_8[2] = tmpvar_2; | |
mat3 tmpvar_9; | |
tmpvar_9[0].x = tmpvar_8[0].x; | |
tmpvar_9[0].y = tmpvar_8[1].x; | |
tmpvar_9[0].z = tmpvar_8[2].x; | |
tmpvar_9[1].x = tmpvar_8[0].y; | |
tmpvar_9[1].y = tmpvar_8[1].y; | |
tmpvar_9[1].z = tmpvar_8[2].y; | |
tmpvar_9[2].x = tmpvar_8[0].z; | |
tmpvar_9[2].y = tmpvar_8[1].z; | |
tmpvar_9[2].z = tmpvar_8[2].z; | |
highp vec3 tmpvar_10; | |
tmpvar_10 = (tmpvar_9 * (_World2Object * _WorldSpaceLightPos0).xyz); | |
tmpvar_4 = tmpvar_10; | |
highp vec4 tmpvar_11; | |
tmpvar_11.w = 1.0; | |
tmpvar_11.xyz = _WorldSpaceCameraPos; | |
highp vec4 tmpvar_12; | |
tmpvar_12.w = 1.0; | |
tmpvar_12.xyz = tmpvar_7; | |
mediump vec3 tmpvar_13; | |
mediump vec4 normal; | |
normal = tmpvar_12; | |
mediump vec3 x3; | |
highp float vC; | |
mediump vec3 x2; | |
mediump vec3 x1; | |
highp float tmpvar_14; | |
tmpvar_14 = dot (unity_SHAr, normal); | |
x1.x = tmpvar_14; | |
highp float tmpvar_15; | |
tmpvar_15 = dot (unity_SHAg, normal); | |
x1.y = tmpvar_15; | |
highp float tmpvar_16; | |
tmpvar_16 = dot (unity_SHAb, normal); | |
x1.z = tmpvar_16; | |
mediump vec4 tmpvar_17; | |
tmpvar_17 = (normal.xyzz * normal.yzzx); | |
highp float tmpvar_18; | |
tmpvar_18 = dot (unity_SHBr, tmpvar_17); | |
x2.x = tmpvar_18; | |
highp float tmpvar_19; | |
tmpvar_19 = dot (unity_SHBg, tmpvar_17); | |
x2.y = tmpvar_19; | |
highp float tmpvar_20; | |
tmpvar_20 = dot (unity_SHBb, tmpvar_17); | |
x2.z = tmpvar_20; | |
mediump float tmpvar_21; | |
tmpvar_21 = ((normal.x * normal.x) - (normal.y * normal.y)); | |
vC = tmpvar_21; | |
highp vec3 tmpvar_22; | |
tmpvar_22 = (unity_SHC.xyz * vC); | |
x3 = tmpvar_22; | |
tmpvar_13 = ((x1 + x2) + x3); | |
shlight = tmpvar_13; | |
tmpvar_5 = shlight; | |
highp vec3 tmpvar_23; | |
tmpvar_23 = (_Object2World * _glesVertex).xyz; | |
highp vec4 tmpvar_24; | |
tmpvar_24 = (unity_4LightPosX0 - tmpvar_23.x); | |
highp vec4 tmpvar_25; | |
tmpvar_25 = (unity_4LightPosY0 - tmpvar_23.y); | |
highp vec4 tmpvar_26; | |
tmpvar_26 = (unity_4LightPosZ0 - tmpvar_23.z); | |
highp vec4 tmpvar_27; | |
tmpvar_27 = (((tmpvar_24 * tmpvar_24) + (tmpvar_25 * tmpvar_25)) + (tmpvar_26 * tmpvar_26)); | |
highp vec4 tmpvar_28; | |
tmpvar_28 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_24 * tmpvar_7.x) + (tmpvar_25 * tmpvar_7.y)) + (tmpvar_26 * tmpvar_7.z)) * inversesqrt (tmpvar_27))) * (1.0/((1.0 + (tmpvar_27 * unity_4LightAtten0))))); | |
highp vec3 tmpvar_29; | |
tmpvar_29 = (tmpvar_5 + ((((unity_LightColor[0].xyz * tmpvar_28.x) + (unity_LightColor[1].xyz * tmpvar_28.y)) + (unity_LightColor[2].xyz * tmpvar_28.z)) + (unity_LightColor[3].xyz * tmpvar_28.w))); | |
tmpvar_5 = tmpvar_29; | |
gl_Position = (gl_ModelViewProjectionMatrix * _glesVertex); | |
xlv_TEXCOORD0 = tmpvar_3; | |
xlv_TEXCOORD1 = tmpvar_4; | |
xlv_TEXCOORD2 = tmpvar_5; | |
xlv_TEXCOORD3 = (tmpvar_9 * (((_World2Object * tmpvar_11).xyz * unity_Scale.w) - _glesVertex.xyz)); | |
} | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment