bgfx/3rdparty/glsl-optimizer/tests/fragment/complex-prepasslight-outES.txt
Branimir Karadzic dee3fe5266 Initial commit.
2012-04-03 20:30:07 -07:00

157 lines
5.1 KiB
Text

varying highp vec3 xlv_TEXCOORD1;
varying highp vec4 xlv_TEXCOORD0;
uniform highp vec4 unity_LightmapFade;
uniform highp vec4 _ZBufferParams;
uniform highp vec3 _WorldSpaceCameraPos;
uniform samplerCube _ShadowMapTexture;
uniform highp vec4 _ProjectionParams;
uniform sampler2D _LightTextureB0;
uniform samplerCube _LightTexture0;
uniform highp vec4 _LightShadowData;
uniform highp vec4 _LightPositionRange;
uniform highp vec4 _LightPos;
uniform highp mat4 _LightMatrix0;
uniform highp vec4 _LightColor;
uniform highp mat4 _CameraToWorld;
uniform sampler2D _CameraNormalsTexture;
uniform sampler2D _CameraDepthTexture;
void main ()
{
mediump vec4 res;
highp float spec;
mediump vec3 h;
highp float atten;
mediump vec3 lightDir;
highp float depth;
mediump vec3 normal;
mediump vec4 nspec;
highp vec2 tmpvar_1;
tmpvar_1 = (xlv_TEXCOORD0.xy / xlv_TEXCOORD0.w);
lowp vec4 tmpvar_2;
tmpvar_2 = texture2D (_CameraNormalsTexture, tmpvar_1);
nspec = tmpvar_2;
normal = normalize (((nspec.xyz * 2.0) - 1.0));
lowp float tmpvar_3;
tmpvar_3 = texture2D (_CameraDepthTexture, tmpvar_1).x;
depth = tmpvar_3;
highp float tmpvar_4;
tmpvar_4 = (1.0/(((_ZBufferParams.x * depth) + _ZBufferParams.y)));
depth = tmpvar_4;
highp vec4 tmpvar_5;
tmpvar_5.w = 1.0;
tmpvar_5.xyz = ((xlv_TEXCOORD1 * (_ProjectionParams.z / xlv_TEXCOORD1.z)) * tmpvar_4);
highp vec3 tmpvar_6;
tmpvar_6 = (_CameraToWorld * tmpvar_5).xyz;
highp vec3 tmpvar_7;
tmpvar_7 = (tmpvar_6 - _LightPos.xyz);
highp vec3 tmpvar_8;
tmpvar_8 = -(normalize (tmpvar_7));
lightDir = tmpvar_8;
highp vec2 tmpvar_9;
tmpvar_9 = vec2((dot (tmpvar_7, tmpvar_7) * _LightPos.w));
lowp float tmpvar_10;
tmpvar_10 = texture2D (_LightTextureB0, tmpvar_9).w;
atten = tmpvar_10;
mediump vec4 shadows;
highp vec4 shadowVals;
highp vec3 vec_i0_i0;
vec_i0_i0 = (tmpvar_7 + vec3(0.0078125, 0.0078125, 0.0078125));
highp vec4 packDist;
lowp vec4 tmpvar_11;
tmpvar_11 = textureCube (_ShadowMapTexture, vec_i0_i0);
packDist = tmpvar_11;
shadowVals.x = dot (packDist, vec4(1.0, 0.00392157, 1.53787e-05, 0.0));
highp vec3 vec_i0_i1;
vec_i0_i1 = (tmpvar_7 + vec3(-0.0078125, -0.0078125, 0.0078125));
highp vec4 packDist_i0;
lowp vec4 tmpvar_12;
tmpvar_12 = textureCube (_ShadowMapTexture, vec_i0_i1);
packDist_i0 = tmpvar_12;
shadowVals.y = dot (packDist_i0, vec4(1.0, 0.00392157, 1.53787e-05, 0.0));
highp vec3 vec_i0_i1_i2;
vec_i0_i1_i2 = (tmpvar_7 + vec3(-0.0078125, 0.0078125, -0.0078125));
highp vec4 packDist_i0_i1;
lowp vec4 tmpvar_13;
tmpvar_13 = textureCube (_ShadowMapTexture, vec_i0_i1_i2);
packDist_i0_i1 = tmpvar_13;
shadowVals.z = dot (packDist_i0_i1, vec4(1.0, 0.00392157, 1.53787e-05, 0.0));
highp vec3 vec_i0_i1_i2_i3;
vec_i0_i1_i2_i3 = (tmpvar_7 + vec3(0.0078125, -0.0078125, -0.0078125));
highp vec4 packDist_i0_i1_i2;
lowp vec4 tmpvar_14;
tmpvar_14 = textureCube (_ShadowMapTexture, vec_i0_i1_i2_i3);
packDist_i0_i1_i2 = tmpvar_14;
shadowVals.w = dot (packDist_i0_i1_i2, vec4(1.0, 0.00392157, 1.53787e-05, 0.0));
highp vec4 tmpvar_15;
tmpvar_15 = vec4(((length (tmpvar_7) * _LightPositionRange.w) * 0.97));
bvec4 tmpvar_16;
tmpvar_16 = lessThan (shadowVals, tmpvar_15);
highp float tmpvar_17;
if (tmpvar_16.x) {
tmpvar_17 = _LightShadowData.x;
} else {
tmpvar_17 = 1.0;
};
highp float tmpvar_18;
if (tmpvar_16.y) {
tmpvar_18 = _LightShadowData.x;
} else {
tmpvar_18 = 1.0;
};
highp float tmpvar_19;
if (tmpvar_16.z) {
tmpvar_19 = _LightShadowData.x;
} else {
tmpvar_19 = 1.0;
};
highp float tmpvar_20;
if (tmpvar_16.w) {
tmpvar_20 = _LightShadowData.x;
} else {
tmpvar_20 = 1.0;
};
highp vec4 tmpvar_21;
tmpvar_21.x = tmpvar_17;
tmpvar_21.y = tmpvar_18;
tmpvar_21.z = tmpvar_19;
tmpvar_21.w = tmpvar_20;
shadows = tmpvar_21;
mediump float tmpvar_22;
tmpvar_22 = dot (shadows, vec4(0.25, 0.25, 0.25, 0.25));
highp vec4 tmpvar_23;
tmpvar_23.w = 1.0;
tmpvar_23.xyz = tmpvar_6;
lowp vec4 tmpvar_24;
tmpvar_24 = textureCube (_LightTexture0, (_LightMatrix0 * tmpvar_23).xyz);
highp float tmpvar_25;
tmpvar_25 = ((atten * tmpvar_22) * tmpvar_24.w);
atten = tmpvar_25;
mediump float tmpvar_26;
tmpvar_26 = max (0.0, dot (lightDir, normal));
highp vec3 tmpvar_27;
tmpvar_27 = normalize ((lightDir - normalize ((tmpvar_6 - _WorldSpaceCameraPos))));
h = tmpvar_27;
mediump float tmpvar_28;
tmpvar_28 = pow (max (0.0, dot (h, normal)), (nspec.w * 128.0));
spec = tmpvar_28;
highp float tmpvar_29;
tmpvar_29 = (spec * clamp (tmpvar_25, 0.0, 1.0));
spec = tmpvar_29;
highp vec3 tmpvar_30;
tmpvar_30 = (_LightColor.xyz * (tmpvar_26 * tmpvar_25));
res.xyz = tmpvar_30;
mediump vec3 c;
c = _LightColor.xyz;
mediump float tmpvar_31;
tmpvar_31 = dot (c, vec3(0.22, 0.707, 0.071));
highp float tmpvar_32;
tmpvar_32 = (tmpvar_29 * tmpvar_31);
res.w = tmpvar_32;
highp float tmpvar_33;
tmpvar_33 = clamp ((1.0 - ((tmpvar_5.z * unity_LightmapFade.z) + unity_LightmapFade.w)), 0.0, 1.0);
mediump vec4 tmpvar_34;
tmpvar_34 = (res * tmpvar_33);
res = tmpvar_34;
gl_FragData[0] = exp2 (-(tmpvar_34));
}