Skip to content
Snippets Groups Projects
Commit c4f36a57 authored by Dave Houlton's avatar Dave Houlton
Browse files

Merged in euclid-SL13163 (pull request #119)

SL-13163 - Fix (revert) EEP specular contribution calculation for deferred
parents 47d1b3c4 3c4a1b3f
No related branches found
No related tags found
No related merge requests found
...@@ -127,42 +127,16 @@ void main() ...@@ -127,42 +127,16 @@ void main()
if (spec.a > 0.0) // specular reflection if (spec.a > 0.0) // specular reflection
{ {
#if 1 //EEP
vec3 npos = -normalize(pos.xyz);
//vec3 ref = dot(pos+lv, norm);
vec3 h = normalize(light_dir.xyz+npos);
float nh = dot(norm.xyz, h);
float nv = dot(norm.xyz, npos);
float vh = dot(npos, h);
float sa = nh;
float fres = pow(1 - dot(h, npos), 5)*0.4+0.5;
float gtdenom = 2 * nh;
float gt = max(0, min(gtdenom * nv / vh, gtdenom * da / vh));
if (nh > 0.0)
{
float scontrib = fres*texture2D(lightFunc, vec2(nh, spec.a)).r*gt/(nh*da);
vec3 sp = sun_contrib*scontrib / 6.0;
sp = clamp(sp, vec3(0), vec3(1));
bloom += dot(sp, sp) / 4.0;
color += sp * spec.rgb;
}
#else //PRODUCTION
float sa = dot(refnormpersp, light_dir.xyz); float sa = dot(refnormpersp, light_dir.xyz);
vec3 dumbshiny = sunlit*(texture2D(lightFunc, vec2(sa, spec.a)).r); vec3 dumbshiny = sunlit * (texture2D(lightFunc, vec2(sa, spec.a)).r);
// add the two types of shiny together // add the two types of shiny together
vec3 spec_contrib = dumbshiny * spec.rgb; vec3 spec_contrib = dumbshiny * spec.rgb;
bloom = dot(spec_contrib, spec_contrib) / 6; bloom = dot(spec_contrib, spec_contrib) / 6;
color.rgb += spec_contrib; color.rgb += spec_contrib;
#endif
} }
color.rgb = mix(color.rgb, diffuse.rgb, diffuse.a); color.rgb = mix(color.rgb, diffuse.rgb, diffuse.a);
if (envIntensity > 0.0) if (envIntensity > 0.0)
{ //add environmentmap { //add environmentmap
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment