5
* Created by döme on 29.07.2009.
6
* Copyright 2009 __MyCompanyName__. All rights reserved.
10
precision mediump float;
12
uniform sampler2D tex0;
14
varying mediump vec3 N;
15
varying mediump vec2 tx0;
16
varying mediump vec4 epos;
20
vec3 NN = normalize(N)*(float(gl_FrontFacing)*2.0 - 1.0);
21
vec3 lightdir = normalize(epos.xyz);
23
lowp vec4 tex0color = texture2D(tex0, tx0);
25
float diffuse = -dot(NN, lightdir);
29
const float n12 = n1/n2;
31
float cost0 = diffuse;
32
float cost1 = sqrt(1.0 - n12*n12*(1.0 - cost0*cost0));
34
float Rs = (n1*cost0 - n2*cost1)/(n1*cost0 + n2*cost1);
35
float Rp = (n1*cost1 - n2*cost0)/(n1*cost1 + n2*cost0);
36
float R = 0.5*(Rs*Rs+Rp*Rp);
39
gl_FragColor = vec4(tex0color.rgb*(R+0.0*diffuse), R);