 void main (void)  
 {
     vec4 cFinal;
-    float iDiff, iSpec;
+    float iDiff, iSpec, F;
 
-    iSpec = minnaert(k);
- 
     iDiff = seelinger();
+    //iSpec = minnaert(0.5f);
+    iSpec = cookTorrance(0.2, 0.5);
 
-    cFinal = (cLightAmbt*cMatAmbt) + iDiff*(cLightDiff*cMatDiff) + specular*iSpec*(cLightSpec*cMatSpec);
+    cFinal = (cLightAmbt*cMatAmbt) + iDiff*(cLightDiff*cMatDiff) + iSpec*(cLightSpec*cMatSpec);
+
+    F = fresnel(Nn, normalize(L.xyz), 0.8, 0.8, 1.5);
     cFinal.w = 1.0;
 
-    gl_FragColor = cFinal;
+    gl_FragColor = F*cFinal;
 }

    return min(1.0, min(masking, shadowing));
}

float fresnel(vec3 normal, vec3 light, float indexR)
{
   float R0 = pow((1.0 - indexR), 2.0);


    H = normalize(Ln + V);
    D = distro(Nf, H, m);
    G = geom(Nf, H, Ln, V);
    F = fresnel_hack(Nf, normalize(L.xyz), iR);

    cook  = D*G;
    vdotn = dot(V, Nf);
