   vec3 V = surface.view;
   vec3 L = normalize(-direction);
   vec3 H = normalize(V + L);
-  vec3 R = surface.reflection;
+  //vec3 R = surface.reflection;
   float NoV = abs(dot(N, V)) + 1e-8;
-  float NoL = clamp(dot(N, L), 0., 1.);
+  float NoL = clamp(dot(N, L) * .5 + .5, 0., 1.);
   float NoH = clamp(dot(N, H), 0., 1.);
   float VoH = clamp(dot(V, H), 0., 1.);
 

layout(location = 11) in vec3 Normal;
layout(location = 12) in vec4 Color;
layout(location = 13) in vec2 UV;
#endif

// Macros

layout(location = 11) out vec3 Normal;
layout(location = 12) out vec4 Color;
layout(location = 13) out vec2 UV;
layout(location = 14) out vec3 Tangent;
#endif

#ifdef GL_FRAGMENT_SHADER
