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

NORSPEC-145 Fix for improper rendering of glow pass for rigged meshes.

parent 73404da2
No related branches found
No related tags found
No related merge requests found
...@@ -48,6 +48,8 @@ void main() ...@@ -48,6 +48,8 @@ void main()
mat = modelview_matrix * mat; mat = modelview_matrix * mat;
vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz; vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz;
vertex_color = emissive;
calcAtmospherics(pos.xyz); calcAtmospherics(pos.xyz);
gl_Position = projection_matrix*vec4(pos, 1.0); gl_Position = projection_matrix*vec4(pos, 1.0);
......
...@@ -252,10 +252,11 @@ void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass) ...@@ -252,10 +252,11 @@ void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass)
case 4: case 4:
beginRiggedFullbrightAlpha(); beginRiggedFullbrightAlpha();
break; break;
case 5: case 9:
beginRiggedGlow(); beginRiggedGlow();
break;
default: default:
beginDeferredRiggedMaterialAlpha(pass-6); beginDeferredRiggedMaterialAlpha(pass-5);
break; break;
} }
} }
...@@ -368,14 +369,14 @@ void LLDrawPoolAvatar::renderPostDeferred(S32 pass) ...@@ -368,14 +369,14 @@ void LLDrawPoolAvatar::renderPostDeferred(S32 pass)
13, //rigged glow 13, //rigged glow
}; };
pass = actual_pass[pass]; S32 p = actual_pass[pass];
if (LLPipeline::sImpostorRender) if (LLPipeline::sImpostorRender)
{ //HACK for impostors so actual pass ends up being proper pass { //HACK for impostors so actual pass ends up being proper pass
pass -= 2; p -= 2;
} }
render(pass); render(p);
} }
...@@ -1299,20 +1300,28 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass) ...@@ -1299,20 +1300,28 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
return; return;
} }
S32 p = 0; if (LLPipeline::sRenderDeferred)
switch (pass)
{ {
case 9: p = 1; break; S32 p = 0;
case 10: p = 5; break; switch (pass)
case 11: p = 9; break; {
case 12: p = 13; break; case 9: p = 1; break;
} case 10: p = 5; break;
case 11: p = 9; break;
case 12: p = 13; break;
}
{
LLGLEnable blend(GL_BLEND);
renderDeferredRiggedMaterial(avatarp, p);
}
return;
}
else if (pass == 9)
{ {
LLGLEnable blend(GL_BLEND); renderRiggedGlow(avatarp);
renderDeferredRiggedMaterial(avatarp, p); return;
} }
return;
} }
if (pass == 13) if (pass == 13)
......
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