Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- main-f.builtin.sdr 2014-08-19 18:49:10.437815000 -0700
- +++ main-f.sdr 2014-08-19 18:44:07.405482600 -0700
- @@ -33,12 +33,11 @@
- uniform float vpwidth;
- uniform float vpheight;
- #endif
- -#ifdef FLAG_TEAMCOLOR
- -uniform vec3 base_color;
- -uniform vec3 stripe_color;
- -vec2 teamMask = vec2(0.0, 0.0);
- -#endif
- #ifdef FLAG_MISC_MAP
- + #ifdef FLAG_TEAMCOLOR
- + uniform vec3 base_color;
- + uniform vec3 stripe_color;
- + #endif
- uniform sampler2D sMiscmap;
- #endif
- varying vec4 position;
- @@ -48,31 +47,32 @@
- #else
- #define MAX_LIGHTS 8
- #endif
- -#define SPEC_INTENSITY_POINT 5.3 // Point light
- -#define SPEC_INTENSITY_DIRECTIONAL 3.0 // Directional light
- -#define SPECULAR_FACTOR 1.75
- -#define SPECULAR_ALPHA 0.1
- -#define SPEC_FACTOR_NO_SPEC_MAP 0.6
- -#define ENV_ALPHA_FACTOR 0.3
- -#define GLOW_MAP_INTENSITY 1.5
- +#define SPEC_INTENSITY_POINT 1.0 // Point light
- +#define SPEC_INTENSITY_DIRECTIONAL 1.0 // Directional light
- +#define SPECULAR_FACTOR 1.0
- +#define SPECULAR_ALPHA 0.1
- +#define SPEC_FACTOR_NO_SPEC_MAP 0.6
- +#define ENV_ALPHA_FACTOR 0.3
- +#define GLOW_MAP_INTENSITY 1.5
- #define AMBIENT_LIGHT_BOOST 1.0
- void main()
- {
- - vec3 eyeDir = vec3(normalize(-position).xyz); // Camera is at (0,0,0) in ModelView space
- + vec3 eyeDir = vec3(normalize(-position).xyz); // Camera is as (0,0,0) in ModelView space
- vec4 lightAmbientDiffuse = vec4(0.0, 0.0, 0.0, 1.0);
- vec4 lightDiffuse = vec4(0.0, 0.0, 0.0, 1.0);
- vec4 lightAmbient = vec4(0.0, 0.0, 0.0, 1.0);
- vec4 lightSpecular = vec4(0.0, 0.0, 0.0, 1.0);
- vec2 texCoord = gl_TexCoord[0].xy;
- - #ifdef FLAG_SPEC_MAP
- - vec4 specColour = texture2D(sSpecmap, texCoord);
- - #endif
- #ifdef FLAG_MISC_MAP
- #ifdef FLAG_TEAMCOLOR
- - vec2 teamMask = vec2(0.0, 0.0);
- - teamMask = texture2D(sMiscmap, texCoord).rg;
- + vec4 teamMask = vec4(0.0, 0.0, 0.0, 0.0);
- + teamMask = texture2D(sMiscmap, texCoord);
- #endif
- #endif
- + #ifdef FLAG_SPEC_MAP
- + vec4 specColour = texture2D(sSpecmap, texCoord);
- + #endif
- + float gloss = gl_FrontMaterial.shininess;
- #ifdef FLAG_LIGHT
- #ifdef FLAG_NORMAL_MAP
- // Normal map - convert from DXT5nm
- @@ -84,16 +84,16 @@
- vec3 envReflectNM = envReflect + envOffset;
- vec4 envColour = textureCube(sEnvmap, envReflectNM);
- #endif
- - normal.b = 1.0;
- + normal.b = sqrt(1.0 - dot(normal.rg, normal.rg));
- normal = tbnMatrix * normal;
- float norm = length(normal);
- // prevent breaking of normal maps
- if (length(normal) > 0.0)
- - normal /= norm ;
- + normal /= norm;
- else
- normal = tbnMatrix * vec3(0.0, 0.0, 1.0);
- #else
- - vec3 normal = normalize(lNormal);
- + vec3 normal = lNormal;
- #ifdef FLAG_ENV_MAP
- vec4 envColour = textureCube(sEnvmap, envReflect);
- #endif
- @@ -144,7 +144,7 @@
- lightDiffuse += (gl_FrontLightProduct[i].diffuse * (max(dot(normal, lightDir), 0.0)) * attenuation);
- // Specular
- float NdotHV = clamp(dot(normal, half_vec), 0.0, 1.0);
- - lightSpecular += ((gl_FrontLightProduct[i].specular * pow(NdotHV, gl_FrontMaterial.shininess)) * attenuation) * specularIntensity;
- + lightSpecular += (((gl_FrontLightProduct[i].specular * pow(NdotHV, gloss)) * attenuation) * specularIntensity) * ( (gloss/8.0) + (2.0/8.0) );
- }
- lightAmbientDiffuse = lightAmbient + lightDiffuse;
- #else
- @@ -169,10 +169,12 @@
- #else
- vec4 baseColor = gl_Color;
- #endif
- - #ifdef FLAG_TEAMCOLOR
- - vec3 base = base_color - vec3(0.5);
- - vec3 stripe = stripe_color - vec3(0.5);
- - baseColor.rgb += (base * teamMask.x) + (stripe * teamMask.y);
- + #ifdef FLAG_MISC_MAP
- + #ifdef FLAG_TEAMCOLOR
- + vec3 base = base_color - vec3(0.5);
- + vec3 stripe = stripe_color - vec3(0.5);
- + baseColor.rgb += (base * teamMask.r) + (stripe * teamMask.g);
- + #endif
- #endif
- vec4 fragmentColor;
- fragmentColor.rgb = baseColor.rgb * max(lightAmbientDiffuse.rgb * AMBIENT_LIGHT_BOOST, gl_LightModel.ambient.rgb - 0.425);
- @@ -192,7 +194,25 @@
- #endif
- // Glow color
- #ifdef FLAG_GLOW_MAP
- + #ifdef FLAG_MISC_MAP
- + #ifdef FLAG_TEAMCOLOR
- + vec3 glowColour = texture2D(sGlowmap, texCoord).rgb;
- + float glowIntensity = glowColour.r;
- + if(glowColour.g > glowIntensity)
- + glowIntensity = glowColour.g;
- + if(glowColour.b > glowIntensity)
- + glowIntensity = glowColour.b;
- + if(glowIntensity > 0.0)
- + fragmentColor.rgb += ( glowColour * clamp( glowIntensity - teamMask.b - teamMask.a, 0.0, 1.0) / glowIntensity + (base * teamMask.b) + (stripe * teamMask.a) ) * GLOW_MAP_INTENSITY;
- + else
- + fragmentColor.rgb += ( (base * teamMask.b) + (stripe * teamMask.a) ) * GLOW_MAP_INTENSITY;
- +// fragmentColor.rgb += glowColour.rgb * GLOW_MAP_INTENSITY;
- + #else
- + fragmentColor.rgb += texture2D(sGlowmap, texCoord).rgb * GLOW_MAP_INTENSITY;
- + #endif
- + #else
- fragmentColor.rgb += texture2D(sGlowmap, texCoord).rgb * GLOW_MAP_INTENSITY;
- + #endif
- #endif
- #ifdef FLAG_FOG
- fragmentColor.rgb = mix(fragmentColor.rgb, gl_Fog.color.rgb, fogDist);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement