Platform GLSL: Fix dev_skipnormal for lightmapped_ shaders
This commit is contained in:
parent
1a0193ad3a
commit
d22056014a
|
@ -65,7 +65,22 @@ varying vec2 lm1, lm2, lm3;
|
|||
#include "sys/fog.h"
|
||||
#include "sys/pcf.h"
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment(vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
|
@ -82,18 +97,26 @@ varying vec2 lm1, lm2, lm3;
|
|||
|
||||
void main (void)
|
||||
{
|
||||
vec4 diffuse_f = texture2D(s_t0, tex_c);
|
||||
vec3 normal_f = normalize(texture2D(s_t1, tex_c).rgb - 0.5);
|
||||
vec4 diffuse_f;
|
||||
vec3 normal_f;
|
||||
|
||||
normal_f = normalize(texture2D(s_t1, tex_c).rgb - 0.5);
|
||||
|
||||
if (float(dev_skipdiffuse) == 1.0) {
|
||||
diffuse_f = vec4(1.0,1.0,1.0,1.0);
|
||||
} else {
|
||||
diffuse_f = texture2D(s_t0, tex_c);
|
||||
}
|
||||
|
||||
#ifdef FAKESHADOWS
|
||||
diffuse_f.rgb *= ShadowmapFilter(s_shadowmap, vtexprojcoord);
|
||||
#endif
|
||||
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
gl_FragColor = fog4(diffuse_f);
|
||||
}
|
||||
|
|
|
@ -57,6 +57,21 @@ varying vec2 lm1, lm2, lm3;
|
|||
#include "sys/fog.h"
|
||||
#include "sys/pcf.h"
|
||||
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
@ -85,7 +100,11 @@ varying vec2 lm1, lm2, lm3;
|
|||
diffuse_f.rgb *= ShadowmapFilter(s_shadowmap, vtexprojcoord);
|
||||
#endif
|
||||
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
gl_FragColor = fog4(diffuse_f);
|
||||
}
|
||||
|
|
|
@ -65,6 +65,21 @@ varying vec2 lm1, lm2, lm3;
|
|||
|
||||
#define s_reflect s_t0
|
||||
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
@ -87,7 +102,11 @@ varying vec2 lm1, lm2, lm3;
|
|||
vec3 normal_f = normalize(texture2D(s_normalmap, tex_c).rgb - 0.5);
|
||||
|
||||
/* modulate the final pixel with the lightmap value */
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
/* map the reflection buffer onto the surface */
|
||||
stc = (1.0 + (tf.xy / tf.w)) * 0.5;
|
||||
|
|
|
@ -69,6 +69,21 @@ varying vec2 lm1, lm2, lm3;
|
|||
#include "sys/fog.h"
|
||||
#include "sys/pcf.h"
|
||||
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
@ -92,7 +107,11 @@ varying vec2 lm1, lm2, lm3;
|
|||
vec3 normal_f = normalize(texture2D(s_normalmap, tex_c).rgb - 0.5);
|
||||
vec3 env_f;
|
||||
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
#ifdef FAKESHADOWS
|
||||
diffuse_f.rgb *= ShadowmapFilter(s_shadowmap, vtexprojcoord);
|
||||
|
|
|
@ -65,6 +65,21 @@ varying vec2 lm1, lm2, lm3;
|
|||
#include "sys/fog.h"
|
||||
#include "sys/pcf.h"
|
||||
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
@ -95,7 +110,11 @@ varying vec2 lm1, lm2, lm3;
|
|||
diffuse_f.rgb *= ShadowmapFilter(s_shadowmap, vtexprojcoord);
|
||||
#endif
|
||||
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
vec3 halfdir = normalize(normalize(eyevector) - e_light_dir);
|
||||
spec = pow(max(dot(halfdir, normal_f), 0.0), FTE_SPECULAR_EXPONENT);
|
||||
|
|
|
@ -65,6 +65,21 @@ varying vec2 lm1, lm2, lm3;
|
|||
#include "sys/fog.h"
|
||||
#include "sys/pcf.h"
|
||||
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
@ -95,7 +110,11 @@ varying vec2 lm1, lm2, lm3;
|
|||
#endif
|
||||
|
||||
/* lightmap */
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
/* specular */
|
||||
vec3 halfdir = normalize(normalize(eyevector) - e_light_dir);
|
||||
|
|
|
@ -69,6 +69,21 @@ varying vec4 vtexprojcoord;
|
|||
#include "sys/fog.h"
|
||||
#include "sys/pcf.h"
|
||||
|
||||
vec3 lightmap_fragment()
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
||||
#ifdef LIGHTSTYLED
|
||||
lightmaps = texture2D(s_lightmap0, lm0).rgb * e_lmscale[0].rgb;
|
||||
lightmaps += texture2D(s_lightmap1, lm1).rgb * e_lmscale[1].rgb;
|
||||
lightmaps += texture2D(s_lightmap2, lm2).rgb * e_lmscale[2].rgb;
|
||||
lightmaps += texture2D(s_lightmap3, lm3).rgb * e_lmscale[3].rgb;
|
||||
#else
|
||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||
#endif
|
||||
return lightmaps;
|
||||
}
|
||||
|
||||
vec3 lightmap_fragment (vec3 normal_f)
|
||||
{
|
||||
vec3 lightmaps;
|
||||
|
@ -97,7 +112,11 @@ varying vec4 vtexprojcoord;
|
|||
spec = pow(max(dot(halfdir, normal_f), 0.0), FTE_SPECULAR_EXPONENT);
|
||||
spec *= (gloss * 0.1);
|
||||
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
if (float(dev_skipnormal) == 1.0) {
|
||||
diffuse_f.rgb *= lightmap_fragment();
|
||||
} else {
|
||||
diffuse_f.rgb *= lightmap_fragment(normal_f);
|
||||
}
|
||||
|
||||
#ifdef FAKESHADOWS
|
||||
diffuse_f.rgb *= ShadowmapFilter(s_shadowmap, vtexprojcoord);
|
||||
|
|
Loading…
Reference in New Issue