Merge viewer-eep
commit
a329afa6bb
|
|
@ -576,9 +576,20 @@ static std::string get_object_log(GLhandleARB ret)
|
|||
//dump shader source for debugging
|
||||
void LLShaderMgr::dumpShaderSource(U32 shader_code_count, GLcharARB** shader_code_text)
|
||||
{
|
||||
for (GLuint i = 0; i < shader_code_count; i++)
|
||||
for (U32 i = 0; i < shader_code_count; i++)
|
||||
{
|
||||
GLcharARB *line = shader_code_text[i];
|
||||
size_t len = strlen( line );
|
||||
GLcharARB last = len > 0 ? line[len - 1] : 0;
|
||||
|
||||
// LL_ENDL already outputs a newline so temporarily strip off the end newline to prevent EVERY line outputting an (extra) blank line
|
||||
if (last == '\n')
|
||||
line[len - 1] = 0;
|
||||
|
||||
LL_SHADER_LOADING_WARNS() << i << ": " << shader_code_text[i] << LL_ENDL;
|
||||
|
||||
if (last == '\n')
|
||||
line[len - 1] = '\n';
|
||||
}
|
||||
LL_SHADER_LOADING_WARNS() << LL_ENDL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -264,8 +264,7 @@ void main()
|
|||
tnorm = vary_normal;
|
||||
#endif
|
||||
|
||||
norm.xyz = tnorm;
|
||||
norm.xyz = normalize(norm.xyz);
|
||||
norm.xyz = normalize(tnorm.xyz);
|
||||
|
||||
vec2 abnormal = encode_normal(norm.xyz);
|
||||
|
||||
|
|
@ -277,7 +276,28 @@ void main()
|
|||
|
||||
final_color.a = max(final_color.a, emissive_brightness);
|
||||
|
||||
// Texture
|
||||
// [x] Full Bright Object
|
||||
// Shininess (specular)
|
||||
// [X] Texture
|
||||
// Environment Intensity = 1
|
||||
// NOTE: There are two shaders that are used depending on the EI byte value:
|
||||
// EI = 0 fullbright
|
||||
// EI > 0 .. 255 material
|
||||
// When it is passed to us it is normalized.
|
||||
// We can either modify the output environment intensity
|
||||
// OR
|
||||
// adjust the final color via:
|
||||
// final_color *= 0.666666;
|
||||
// We remap the environment intensity to closely simulate what non-EEP is doing.
|
||||
// At midnight the brightness is exact.
|
||||
// At midday the brightness is very close.
|
||||
#ifdef HAS_SKIN
|
||||
vec4 final_normal = vec4(abnormal, env_intensity, 0.0);
|
||||
#else
|
||||
float ei = env_intensity*0.5 + 0.5;
|
||||
vec4 final_normal = vec4(abnormal, ei, 0.0);
|
||||
#endif
|
||||
vec4 final_specular = spec;
|
||||
|
||||
final_specular.a = specular_color.a;
|
||||
|
|
@ -316,11 +336,8 @@ void main()
|
|||
vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz));
|
||||
|
||||
|
||||
float da = dot(normalize(norm.xyz), normalize(light_dir.xyz));
|
||||
da = clamp(da, -1.0, 1.0);
|
||||
|
||||
float final_da = da;
|
||||
final_da = clamp(final_da, 0.0, 1.0);
|
||||
float da = dot(norm.xyz, normalize(light_dir.xyz));
|
||||
float final_da = clamp(da, 0.0, 1.0);
|
||||
|
||||
float ambient = da;
|
||||
ambient *= 0.5;
|
||||
|
|
@ -458,3 +475,4 @@ vec3 post_atmo = color.rgb;
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,9 @@ vec3 atmosTransportFrag(vec3 light, vec3 additive, vec3 atten)
|
|||
{
|
||||
return light * 2.0;
|
||||
}
|
||||
light *= atten.r;
|
||||
light += additive;
|
||||
// fullbright responds minimally to atmos scatter effects
|
||||
light *= min(15.0 * atten.r, 1.0);
|
||||
light += (0.1 * additive);
|
||||
return light * 2.0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,9 @@ vec3 atmosTransportFrag(vec3 light, vec3 additive, vec3 atten)
|
|||
{
|
||||
return light;
|
||||
}
|
||||
light *= atten.r;
|
||||
light += additive;
|
||||
// fullbright responds minimally to atmos scatter effects
|
||||
light *= min(15.0 * atten.r, 1.0);
|
||||
light += (0.1 * additive);
|
||||
return light * 2.0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue