#version 140 #ifndef SHADER_API_D3D11 #define SHADER_API_D3D11 1 #endif #ifndef SHADER_API_D3D11 #define SHADER_API_D3D11 1 #endif struct vec1 { float x; }; struct uvec1 { uint x; }; struct ivec1 { int x; }; uniform Globals { vec4 unity_ColorSpaceGrey; vec4 _MainTex_ST; }; uniform UnityLighting { vec4 _WorldSpaceLightPos0; vec4 _LightPositionRange; vec4 unity_4LightPosX0; vec4 unity_4LightPosY0; vec4 unity_4LightPosZ0; vec4 unity_4LightAtten0; vec4 unity_LightColor[8]; vec4 unity_LightPosition[8]; vec4 unity_LightAtten[8]; vec4 unity_SpotDirection[8]; vec4 unity_SHAr; vec4 unity_SHAg; vec4 unity_SHAb; vec4 unity_SHBr; vec4 unity_SHBg; vec4 unity_SHBb; vec4 unity_SHC; }; uniform UnityPerDraw { vec4 glstate_matrix_mvp[4]; vec4 glstate_matrix_modelview0[4]; vec4 glstate_matrix_invtrans_modelview0[4]; vec4 _Object2World[4]; vec4 _World2Object[4]; vec4 unity_Scale; vec4 unity_LODFade; }; uniform UnityPerFrame { vec4 glstate_matrix_projection[4]; vec4 glstate_lightmodel_ambient; vec4 unity_MatrixV[4]; vec4 unity_MatrixVP[4]; vec4 unity_AmbientSky; vec4 unity_AmbientGround; }; in vec4 dcl_Input0_POSITION0; vec4 Input0; in vec4 dcl_Input1_NORMAL0; vec4 Input1; in vec4 dcl_Input2_TEXCOORD0; vec4 Input2; #undef Output0 #define Output0 phase0_Output0 vec4 phase0_Output0; out vec4 VtxGeoOutput1_TEXCOORD0; #define Output1 VtxGeoOutput1_TEXCOORD0 out vec4 VtxGeoOutput2_COLOR0; #define Output2 VtxGeoOutput2_COLOR0 vec4 Temp[4]; ivec4 Temp_int[4]; uvec4 Temp_uint[4]; void main() { //--- Start Early Main --- Input0 = dcl_Input0_POSITION0; Input1 = dcl_Input1_NORMAL0; Input2 = dcl_Input2_TEXCOORD0; //--- End Early Main --- //Instruction 0 //MUL Temp[0] = vec4(Input0.yyyy * glstate_matrix_mvp[1]); //Instruction 1 //MAD Temp[0] = vec4(glstate_matrix_mvp[0] * Input0.xxxx + Temp[0]); //Instruction 2 //MAD Temp[0] = vec4(glstate_matrix_mvp[2] * Input0.zzzz + Temp[0]); //Instruction 3 //MAD Output0 = vec4(glstate_matrix_mvp[3] * Input0.wwww + Temp[0]); //Instruction 4 //MAD Output1.xy = vec4(Input2.xyxx * _MainTex_ST.xyxx + _MainTex_ST.zwzz).xy; //Instruction 5 //MUL Temp[0].xyz = vec4(Input0.yyyy * glstate_matrix_modelview0[1].xyzx).xyz; //Instruction 6 //MAD Temp[0].xyz = vec4(glstate_matrix_modelview0[0].xyzx * Input0.xxxx + Temp[0].xyzx).xyz; //Instruction 7 //MAD Temp[0].xyz = vec4(glstate_matrix_modelview0[2].xyzx * Input0.zzzz + Temp[0].xyzx).xyz; //Instruction 8 //MAD Temp[0].xyz = vec4(glstate_matrix_modelview0[3].xyzx * Input0.wwww + Temp[0].xyzx).xyz; //Instruction 9 //MUL Temp[1].xyz = vec4(Input1.yyyy * glstate_matrix_invtrans_modelview0[1].xyzx).xyz; //Instruction 10 //MAD Temp[1].xyz = vec4(glstate_matrix_invtrans_modelview0[0].xyzx * Input1.xxxx + Temp[1].xyzx).xyz; //Instruction 11 //MAD Temp[1].xyz = vec4(glstate_matrix_invtrans_modelview0[2].xyzx * Input1.zzzz + Temp[1].xyzx).xyz; //Instruction 12 //DP3 Temp[0].w = vec4(dot((Temp[1].xyzx).xyz, (Temp[1].xyzx).xyz)).w; //Instruction 13 //RSQ Temp[0].w = vec4(inversesqrt(Temp[0].w)).w; //Instruction 14 //MUL Temp[1].xyz = vec4(Temp[0].wwww * Temp[1].xyzx).xyz; //Instruction 15 //MOV Temp[2].xyz = vec4(glstate_lightmodel_ambient.xyzx).xyz; //Instruction 16 //MOV Temp_int[0].w = ivec4(0).w; //Instruction 17 //LOOP while(true){ //Instruction 18 //IGE // IGE+BREAKC opt if (((Temp_int[0].w)>= (4))) { break; } Temp_uint[1].w = ((Temp_int[0].w)>= (4)) ? 0xFFFFFFFFu : uint(0); //Instruction 19 //Instruction 20 //MAD Temp[3].xyz = vec4(-Temp[0].xyzx * unity_LightPosition[Temp_int[0].w + 0].wwww + unity_LightPosition[Temp_int[0].w + 0].xyzx).xyz; //Instruction 21 //DP3 Temp[1].w = vec4(dot((Temp[3].xyzx).xyz, (Temp[3].xyzx).xyz)).w; //Instruction 22 //MAD Temp[2].w = Temp[1].w * unity_LightAtten[Temp_int[0].w + 0].z + 1.000000; //Instruction 23 //DIV Temp[2].w = vec4(vec4(1.000000, 1.000000, 1.000000, 1.000000) / Temp[2].w).w; //Instruction 24 //RSQ Temp[1].w = vec4(inversesqrt(Temp[1].w)).w; //Instruction 25 //MUL Temp[3].xyz = vec4(Temp[1].wwww * Temp[3].xyzx).xyz; //Instruction 26 //DP3 Temp[1].w = vec4(dot((Temp[1].xyzx).xyz, (Temp[3].xyzx).xyz)).w; //Instruction 27 //MAX Temp[1].w = vec4(max(Temp[1].w, 0.000000)).w; //Instruction 28 //MUL Temp[1].w *= Temp[2].w; //Instruction 29 //MAD Temp[2].xyz = vec4(unity_LightColor[Temp_int[0].w + 0].xyzx * Temp[1].wwww + Temp[2].xyzx).xyz; //Instruction 30 //IADD Temp_int[0].w += 1; //Instruction 31 //ENDLOOP } //Instruction 32 //ADD Output2.xyz = vec4(Temp[2].xyzx + Temp[2].xyzx).xyz; //Instruction 33 //MOV Output2.w = vec4(1.000000).w; //Instruction 34 //RET //--- Post shader code --- gl_Position = vec4(phase0_Output0); //--- End post shader code --- return; }