Skip to content
Snippets Groups Projects
Commit a8e51a64 authored by Tofu Linden's avatar Tofu Linden
Browse files

Restore a bit of the non-deferred renderer's sun/moon waterglow in deferred...

Restore a bit of the non-deferred renderer's sun/moon waterglow in deferred rendering.  This also adds a slight pinch of glow to shiny sun-spots.  So be it.
(transplanted from 5a0d9e5b5cfb2ecd96685f0275ab8e999ab86263)
(transplanted from 90f0ce75b2d7bb9fc03e84245db27a16508cde63)
parent 31f8565e
No related branches found
No related tags found
No related merge requests found
...@@ -270,6 +270,7 @@ void main() ...@@ -270,6 +270,7 @@ void main()
vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg; vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg;
float scol = max(scol_ambocc.r, diffuse.a); float scol = max(scol_ambocc.r, diffuse.a);
float ambocc = scol_ambocc.g; float ambocc = scol_ambocc.g;
float glowresult = 0.0;
calcAtmospherics(pos.xyz, ambocc); calcAtmospherics(pos.xyz, ambocc);
...@@ -285,6 +286,7 @@ void main() ...@@ -285,6 +286,7 @@ void main()
vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz)); vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz));
float sa = dot(refnormpersp, vary_light.xyz); float sa = dot(refnormpersp, vary_light.xyz);
vec3 dumbshiny = vary_SunlitColor*scol_ambocc.r*texture2D(lightFunc, vec2(sa, spec.a)).a; vec3 dumbshiny = vary_SunlitColor*scol_ambocc.r*texture2D(lightFunc, vec2(sa, spec.a)).a;
glowresult = 0.08 * dot(dumbshiny.rgb, spec.rgb);
// screen-space cheap fakey reflection map // screen-space cheap fakey reflection map
// //
...@@ -334,5 +336,5 @@ void main() ...@@ -334,5 +336,5 @@ void main()
col = scaleSoftClip(col); col = scaleSoftClip(col);
gl_FragColor.rgb = col; gl_FragColor.rgb = col;
gl_FragColor.a = 0.0; gl_FragColor.a = glowresult;
} }
...@@ -269,6 +269,7 @@ void main() ...@@ -269,6 +269,7 @@ void main()
vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg; vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg;
float scol = max(scol_ambocc.r, diffuse.a); float scol = max(scol_ambocc.r, diffuse.a);
float ambocc = scol_ambocc.g; float ambocc = scol_ambocc.g;
float glowresult = 0.0;
calcAtmospherics(pos.xyz, ambocc); calcAtmospherics(pos.xyz, ambocc);
...@@ -284,6 +285,7 @@ void main() ...@@ -284,6 +285,7 @@ void main()
vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz)); vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz));
float sa = dot(refnormpersp, vary_light.xyz); float sa = dot(refnormpersp, vary_light.xyz);
vec3 dumbshiny = vary_SunlitColor*scol_ambocc.r*texture2D(lightFunc, vec2(sa, spec.a)).a; vec3 dumbshiny = vary_SunlitColor*scol_ambocc.r*texture2D(lightFunc, vec2(sa, spec.a)).a;
glowresult = 0.08 * dot(dumbshiny.rgb, spec.rgb);
// screen-space cheap fakey reflection map // screen-space cheap fakey reflection map
// //
...@@ -334,5 +336,5 @@ void main() ...@@ -334,5 +336,5 @@ void main()
col = scaleSoftClip(col); col = scaleSoftClip(col);
gl_FragColor.rgb = col; gl_FragColor.rgb = col;
gl_FragColor.a = 0.0; gl_FragColor.a = glowresult;
} }
...@@ -272,6 +272,7 @@ void main() ...@@ -272,6 +272,7 @@ void main()
vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg; vec2 scol_ambocc = texture2DRect(lightMap, vary_fragcoord.xy).rg;
float scol = max(scol_ambocc.r, diffuse.a); float scol = max(scol_ambocc.r, diffuse.a);
float ambocc = scol_ambocc.g; float ambocc = scol_ambocc.g;
float glowresult = 0.0;
calcAtmospherics(pos.xyz, ambocc); calcAtmospherics(pos.xyz, ambocc);
...@@ -287,6 +288,7 @@ void main() ...@@ -287,6 +288,7 @@ void main()
vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz)); vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz));
float sa = dot(refnormpersp, vary_light.xyz); float sa = dot(refnormpersp, vary_light.xyz);
vec3 dumbshiny = vary_SunlitColor*scol*texture2D(lightFunc, vec2(sa, spec.a)).a; vec3 dumbshiny = vary_SunlitColor*scol*texture2D(lightFunc, vec2(sa, spec.a)).a;
glowresult = 0.08 * dot(dumbshiny.rgb, spec.rgb);
// screen-space cheap fakey reflection map // screen-space cheap fakey reflection map
// //
...@@ -340,7 +342,7 @@ void main() ...@@ -340,7 +342,7 @@ void main()
gl_FragColor.rgb = col; gl_FragColor.rgb = col;
//gl_FragColor.rgb = gi_col.rgb; //gl_FragColor.rgb = gi_col.rgb;
gl_FragColor.a = 0.0; gl_FragColor.a = glowresult;
//gl_FragColor.rg = scol_ambocc.rg; //gl_FragColor.rg = scol_ambocc.rg;
//gl_FragColor.rgb = texture2DRect(lightMap, vary_fragcoord.xy).rgb; //gl_FragColor.rgb = texture2DRect(lightMap, vary_fragcoord.xy).rgb;
......
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