Skip to content
Snippets Groups Projects
Commit 2cfd002a authored by David Parks's avatar David Parks
Browse files

NORSPEC-216 Fix for some HUD objects not rendering with advanced lighting/materials enabled.

parent 38f62f5c
No related branches found
No related tags found
No related merge requests found
...@@ -39,13 +39,15 @@ VARYING vec2 vary_texcoord0; ...@@ -39,13 +39,15 @@ VARYING vec2 vary_texcoord0;
void default_lighting() void default_lighting()
{ {
vec4 color = diffuseLookup(vary_texcoord0.xy) * vertex_color; vec4 color = diffuseLookup(vary_texcoord0.xy);
if (color.a < minimum_alpha) if (color.a < minimum_alpha)
{ {
discard; discard;
} }
color.rgb *= vertex_color.rgb;
color.rgb = atmosLighting(color.rgb); color.rgb = atmosLighting(color.rgb);
color.rgb = scaleSoftClip(color.rgb); color.rgb = scaleSoftClip(color.rgb);
......
...@@ -41,13 +41,15 @@ VARYING vec2 vary_texcoord0; ...@@ -41,13 +41,15 @@ VARYING vec2 vary_texcoord0;
void default_lighting() void default_lighting()
{ {
vec4 color = texture2D(diffuseMap,vary_texcoord0.xy) * vertex_color; vec4 color = texture2D(diffuseMap,vary_texcoord0.xy);
if (color.a < minimum_alpha) if (color.a < minimum_alpha)
{ {
discard; discard;
} }
color.rgb *= vertex_color.rgb;
color.rgb = atmosLighting(color.rgb); color.rgb = atmosLighting(color.rgb);
color.rgb = scaleSoftClip(color.rgb); color.rgb = scaleSoftClip(color.rgb);
......
...@@ -40,12 +40,15 @@ VARYING vec2 vary_texcoord0; ...@@ -40,12 +40,15 @@ VARYING vec2 vary_texcoord0;
void fullbright_lighting() void fullbright_lighting()
{ {
vec4 color = diffuseLookup(vary_texcoord0.xy) * vertex_color; vec4 color = diffuseLookup(vary_texcoord0.xy);
if (color.a < minimum_alpha) if (color.a < minimum_alpha)
{ {
discard; discard;
} }
color.rgb *= vertex_color.rgb;
color.rgb = pow(color.rgb, vec3(texture_gamma)); color.rgb = pow(color.rgb, vec3(texture_gamma));
color.rgb = fullbrightAtmosTransport(color.rgb); color.rgb = fullbrightAtmosTransport(color.rgb);
......
...@@ -42,12 +42,15 @@ VARYING vec2 vary_texcoord0; ...@@ -42,12 +42,15 @@ VARYING vec2 vary_texcoord0;
void fullbright_lighting() void fullbright_lighting()
{ {
vec4 color = texture2D(diffuseMap,vary_texcoord0.xy) * vertex_color; vec4 color = texture2D(diffuseMap,vary_texcoord0.xy);
if (color.a < minimum_alpha) if (color.a < minimum_alpha)
{ {
discard; discard;
} }
color.rgb *= vertex_color.rgb;
color.rgb = pow(color.rgb, vec3(texture_gamma)); color.rgb = pow(color.rgb, vec3(texture_gamma));
color.rgb = fullbrightAtmosTransport(color.rgb); color.rgb = fullbrightAtmosTransport(color.rgb);
......
...@@ -94,7 +94,7 @@ void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass) ...@@ -94,7 +94,7 @@ void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass)
if (pass == 0) if (pass == 0)
{ {
simple_shader = &gDeferredAlphaProgram; simple_shader = &gDeferredAlphaProgram;
fullbright_shader = &gObjectFullbrightAlphaMaskProgram; fullbright_shader = &gObjectFullbrightProgram;
//prime simple shader (loads shadow relevant uniforms) //prime simple shader (loads shadow relevant uniforms)
gPipeline.bindDeferredShader(*simple_shader); gPipeline.bindDeferredShader(*simple_shader);
...@@ -150,8 +150,8 @@ void LLDrawPoolAlpha::beginRenderPass(S32 pass) ...@@ -150,8 +150,8 @@ void LLDrawPoolAlpha::beginRenderPass(S32 pass)
} }
else else
{ {
simple_shader = &gObjectSimpleAlphaMaskProgram; simple_shader = &gObjectSimpleProgram;
fullbright_shader = &gObjectFullbrightAlphaMaskProgram; fullbright_shader = &gObjectFullbrightProgram;
emissive_shader = &gObjectEmissiveProgram; emissive_shader = &gObjectEmissiveProgram;
} }
......
...@@ -1095,6 +1095,8 @@ void render_hud_attachments() ...@@ -1095,6 +1095,8 @@ void render_hud_attachments()
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_SIMPLE); gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_SIMPLE);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_VOLUME); gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_VOLUME);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA); gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA_MASK);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT_ALPHA_MASK);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT); gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_ALPHA); gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_ALPHA);
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_ALPHA_MASK); gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_ALPHA_MASK);
......
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