Advertisement
MageKing17

Untitled

Aug 19th, 2014
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.87 KB | None | 0 0
  1. --- main-f.builtin.sdr  2014-08-19 18:49:10.437815000 -0700
  2. +++ main-f.sdr  2014-08-19 18:44:07.405482600 -0700
  3. @@ -33,12 +33,11 @@
  4.  uniform float vpwidth;
  5.  uniform float vpheight;
  6.  #endif
  7. -#ifdef FLAG_TEAMCOLOR
  8. -uniform vec3 base_color;
  9. -uniform vec3 stripe_color;
  10. -vec2 teamMask = vec2(0.0, 0.0);
  11. -#endif
  12.  #ifdef FLAG_MISC_MAP
  13. + #ifdef FLAG_TEAMCOLOR
  14. + uniform vec3 base_color;
  15. + uniform vec3 stripe_color;
  16. + #endif
  17.  uniform sampler2D sMiscmap;
  18.  #endif
  19.  varying vec4 position;
  20. @@ -48,31 +47,32 @@
  21.  #else
  22.    #define MAX_LIGHTS 8
  23.  #endif
  24. -#define SPEC_INTENSITY_POINT       5.3 // Point light
  25. -#define SPEC_INTENSITY_DIRECTIONAL 3.0 // Directional light
  26. -#define SPECULAR_FACTOR            1.75
  27. -#define SPECULAR_ALPHA             0.1
  28. -#define SPEC_FACTOR_NO_SPEC_MAP    0.6
  29. -#define ENV_ALPHA_FACTOR           0.3
  30. -#define GLOW_MAP_INTENSITY         1.5
  31. +#define SPEC_INTENSITY_POINT       1.0 // Point light
  32. +#define SPEC_INTENSITY_DIRECTIONAL 1.0 // Directional light
  33. +#define SPECULAR_FACTOR            1.0
  34. +#define SPECULAR_ALPHA         0.1
  35. +#define SPEC_FACTOR_NO_SPEC_MAP        0.6
  36. +#define ENV_ALPHA_FACTOR       0.3
  37. +#define GLOW_MAP_INTENSITY     1.5
  38.  #define AMBIENT_LIGHT_BOOST        1.0
  39.  void main()
  40.  {
  41. -   vec3 eyeDir = vec3(normalize(-position).xyz); // Camera is at (0,0,0) in ModelView space
  42. +   vec3 eyeDir = vec3(normalize(-position).xyz); // Camera is as (0,0,0) in ModelView space
  43.     vec4 lightAmbientDiffuse = vec4(0.0, 0.0, 0.0, 1.0);
  44.     vec4 lightDiffuse = vec4(0.0, 0.0, 0.0, 1.0);
  45.     vec4 lightAmbient = vec4(0.0, 0.0, 0.0, 1.0);
  46.     vec4 lightSpecular = vec4(0.0, 0.0, 0.0, 1.0);
  47.     vec2 texCoord = gl_TexCoord[0].xy;
  48. - #ifdef FLAG_SPEC_MAP
  49. -   vec4 specColour = texture2D(sSpecmap, texCoord);
  50. - #endif
  51.   #ifdef FLAG_MISC_MAP
  52.     #ifdef FLAG_TEAMCOLOR
  53. -    vec2 teamMask = vec2(0.0, 0.0);
  54. -    teamMask = texture2D(sMiscmap, texCoord).rg;
  55. +    vec4 teamMask = vec4(0.0, 0.0, 0.0, 0.0);
  56. +    teamMask = texture2D(sMiscmap, texCoord);
  57.     #endif
  58.   #endif
  59. + #ifdef FLAG_SPEC_MAP
  60. +   vec4 specColour = texture2D(sSpecmap, texCoord);
  61. + #endif
  62. + float gloss = gl_FrontMaterial.shininess;
  63.   #ifdef FLAG_LIGHT
  64.    #ifdef FLAG_NORMAL_MAP
  65.     // Normal map - convert from DXT5nm
  66. @@ -84,16 +84,16 @@
  67.     vec3 envReflectNM = envReflect + envOffset;
  68.     vec4 envColour = textureCube(sEnvmap, envReflectNM);
  69.     #endif
  70. -   normal.b = 1.0;
  71. +   normal.b = sqrt(1.0 - dot(normal.rg, normal.rg));
  72.     normal = tbnMatrix * normal;
  73.     float norm = length(normal);
  74.     // prevent breaking of normal maps
  75.     if (length(normal) > 0.0)
  76. -       normal /= norm ;
  77. +       normal /= norm;
  78.     else
  79.         normal = tbnMatrix * vec3(0.0, 0.0, 1.0);
  80.    #else
  81. -   vec3 normal = normalize(lNormal);
  82. +   vec3 normal = lNormal;
  83.     #ifdef FLAG_ENV_MAP
  84.     vec4 envColour = textureCube(sEnvmap, envReflect);
  85.     #endif
  86. @@ -144,7 +144,7 @@
  87.         lightDiffuse += (gl_FrontLightProduct[i].diffuse * (max(dot(normal, lightDir), 0.0)) * attenuation);
  88.         // Specular
  89.         float NdotHV = clamp(dot(normal, half_vec), 0.0, 1.0);
  90. -       lightSpecular += ((gl_FrontLightProduct[i].specular * pow(NdotHV, gl_FrontMaterial.shininess)) * attenuation) * specularIntensity;
  91. +       lightSpecular += (((gl_FrontLightProduct[i].specular * pow(NdotHV, gloss)) * attenuation) * specularIntensity) * ( (gloss/8.0) + (2.0/8.0) );
  92.     }
  93.     lightAmbientDiffuse = lightAmbient + lightDiffuse;
  94.   #else
  95. @@ -169,10 +169,12 @@
  96.   #else
  97.     vec4 baseColor = gl_Color;
  98.   #endif
  99. -  #ifdef FLAG_TEAMCOLOR
  100. -   vec3 base = base_color - vec3(0.5);
  101. -   vec3 stripe = stripe_color - vec3(0.5);
  102. -   baseColor.rgb += (base * teamMask.x) + (stripe * teamMask.y);
  103. +  #ifdef FLAG_MISC_MAP
  104. +   #ifdef FLAG_TEAMCOLOR
  105. +    vec3 base = base_color - vec3(0.5);
  106. +    vec3 stripe = stripe_color - vec3(0.5);
  107. +    baseColor.rgb += (base * teamMask.r) + (stripe * teamMask.g);
  108. +   #endif
  109.    #endif
  110.     vec4 fragmentColor;
  111.     fragmentColor.rgb = baseColor.rgb * max(lightAmbientDiffuse.rgb * AMBIENT_LIGHT_BOOST, gl_LightModel.ambient.rgb - 0.425);
  112. @@ -192,7 +194,25 @@
  113.   #endif
  114.   // Glow color
  115.   #ifdef FLAG_GLOW_MAP
  116. +  #ifdef FLAG_MISC_MAP
  117. +   #ifdef FLAG_TEAMCOLOR
  118. +    vec3 glowColour = texture2D(sGlowmap, texCoord).rgb;
  119. +    float glowIntensity = glowColour.r;
  120. +    if(glowColour.g > glowIntensity)
  121. +        glowIntensity = glowColour.g;
  122. +    if(glowColour.b > glowIntensity)
  123. +        glowIntensity = glowColour.b;
  124. +    if(glowIntensity > 0.0)
  125. +       fragmentColor.rgb += ( glowColour * clamp( glowIntensity - teamMask.b - teamMask.a, 0.0, 1.0) / glowIntensity + (base * teamMask.b) + (stripe * teamMask.a) ) * GLOW_MAP_INTENSITY;
  126. +    else
  127. +       fragmentColor.rgb += ( (base * teamMask.b) + (stripe * teamMask.a) ) * GLOW_MAP_INTENSITY;
  128. +//  fragmentColor.rgb += glowColour.rgb * GLOW_MAP_INTENSITY;
  129. +   #else
  130. +   fragmentColor.rgb += texture2D(sGlowmap, texCoord).rgb * GLOW_MAP_INTENSITY;
  131. +   #endif
  132. +  #else
  133.     fragmentColor.rgb += texture2D(sGlowmap, texCoord).rgb * GLOW_MAP_INTENSITY;
  134. +  #endif
  135.   #endif
  136.   #ifdef FLAG_FOG
  137.     fragmentColor.rgb = mix(fragmentColor.rgb, gl_Fog.color.rgb, fogDist);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement