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

158 lines
3.3 KiB
Text

struct v2f {
vec4 pos;
vec2 uv;
vec3 color;
vec3 backContrib;
vec3 nl;
vec3 nh;
};
uniform sampler2D _TranslucencyMap;
uniform vec3 _TranslucencyColor;
uniform vec4 _TerrainTreeLightColors[4];
uniform vec4 _SpecColor;
uniform sampler2D _MainTex;
uniform float _Cutoff;
uniform sampler2D _BumpSpecMap;
void xll_clip (
in float x
)
{
if ((x < 0.0)) {
discard;
};
}
vec4 frag (
in v2f i
)
{
vec4 c;
float spec;
float nh;
float nl;
vec3 translucencyColor;
vec3 lightColor;
int j;
vec3 backContribs;
vec3 light;
float gloss;
vec4 trngls;
float specular;
vec3 albedo;
vec4 col;
int tmpvar_1;
tmpvar_1 = 0;
j = tmpvar_1;
vec4 tmpvar_2;
tmpvar_2 = texture2D (_MainTex, i.uv);
vec4 tmpvar_3;
tmpvar_3 = tmpvar_2;
col = tmpvar_3;
xll_clip ((col.w - _Cutoff));
vec3 tmpvar_4;
tmpvar_4 = (col.xyz * i.color);
albedo = tmpvar_4;
vec4 tmpvar_5;
tmpvar_5 = texture2D (_BumpSpecMap, i.uv);
float tmpvar_6;
tmpvar_6 = (tmpvar_5.x * 128.0);
specular = tmpvar_6;
vec4 tmpvar_7;
tmpvar_7 = texture2D (_TranslucencyMap, i.uv);
vec4 tmpvar_8;
tmpvar_8 = tmpvar_7;
trngls = tmpvar_8;
float tmpvar_9;
tmpvar_9 = trngls.w;
gloss = tmpvar_9;
vec3 tmpvar_10;
tmpvar_10 = gl_LightModel.ambient.xyz;
vec3 tmpvar_11;
tmpvar_11 = (tmpvar_10 * albedo);
light = tmpvar_11;
vec3 tmpvar_12;
tmpvar_12 = (i.backContrib * trngls.z);
backContribs = tmpvar_12;
while (true) {
if (!((j < 3))) {
break;
};
vec3 tmpvar_13;
tmpvar_13 = _TerrainTreeLightColors[j].xyz;
lightColor = tmpvar_13;
vec3 tmpvar_14;
tmpvar_14 = (backContribs[j] * _TranslucencyColor);
translucencyColor = tmpvar_14;
float tmpvar_15;
tmpvar_15 = i.nl[j];
nl = tmpvar_15;
float tmpvar_16;
tmpvar_16 = i.nh[j];
nh = tmpvar_16;
float tmpvar_17;
tmpvar_17 = pow (nh, specular);
float tmpvar_18;
tmpvar_18 = (tmpvar_17 * gloss);
spec = tmpvar_18;
vec3 tmpvar_19;
tmpvar_19 = (light + (((albedo * (translucencyColor + nl)) + (_SpecColor.xyz * spec)) * lightColor));
light = tmpvar_19;
int _post_incdec_tmp;
_post_incdec_tmp = j;
int tmpvar_20;
tmpvar_20 = (j + 1);
j = tmpvar_20;
};
vec3 tmpvar_21;
tmpvar_21 = (light * 2.0);
c.xyz = tmpvar_21.xyz.xyz;
float tmpvar_22;
tmpvar_22 = 1.0;
c.w = vec4(tmpvar_22).w;
return c;
}
void main ()
{
v2f xlt_i;
vec4 xl_retval;
vec4 tmpvar_1;
tmpvar_1 = vec4(0.0, 0.0, 0.0, 0.0);
xlt_i.pos = tmpvar_1;
vec2 tmpvar_2;
tmpvar_2 = gl_TexCoord[0].xy;
vec2 tmpvar_3;
tmpvar_3 = tmpvar_2;
xlt_i.uv = tmpvar_3;
vec3 tmpvar_4;
tmpvar_4 = gl_TexCoord[1].xyz;
vec3 tmpvar_5;
tmpvar_5 = tmpvar_4;
xlt_i.color = tmpvar_5;
vec3 tmpvar_6;
tmpvar_6 = gl_TexCoord[2].xyz;
vec3 tmpvar_7;
tmpvar_7 = tmpvar_6;
xlt_i.backContrib = tmpvar_7;
vec3 tmpvar_8;
tmpvar_8 = gl_TexCoord[3].xyz;
vec3 tmpvar_9;
tmpvar_9 = tmpvar_8;
xlt_i.nl = tmpvar_9;
vec3 tmpvar_10;
tmpvar_10 = gl_TexCoord[4].xyz;
vec3 tmpvar_11;
tmpvar_11 = tmpvar_10;
xlt_i.nh = tmpvar_11;
vec4 tmpvar_12;
tmpvar_12 = frag (xlt_i);
vec4 tmpvar_13;
tmpvar_13 = tmpvar_12;
xl_retval = tmpvar_13;
vec4 tmpvar_14;
tmpvar_14 = xl_retval.xyzw;
vec4 tmpvar_15;
tmpvar_15 = tmpvar_14;
gl_FragData[0] = tmpvar_15;
}