Fix issue where alpha_mode_none and alpha_mode_emissive on rigged faces were being alpha tested and discarded.
This commit is contained in:
@@ -982,6 +982,5 @@ void LLGLSLShader::vertexAttrib4f(U32 index, GLfloat x, GLfloat y, GLfloat z, GL
|
|||||||
|
|
||||||
void LLGLSLShader::setMinimumAlpha(F32 minimum)
|
void LLGLSLShader::setMinimumAlpha(F32 minimum)
|
||||||
{
|
{
|
||||||
gGL.flush();
|
|
||||||
uniform1f(LLShaderMgr::MINIMUM_ALPHA, minimum);
|
uniform1f(LLShaderMgr::MINIMUM_ALPHA, minimum);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1666,6 +1666,10 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)
|
|||||||
{
|
{
|
||||||
sVertexProgram->setMinimumAlpha(mat->getAlphaMaskCutoff()/255.f);
|
sVertexProgram->setMinimumAlpha(mat->getAlphaMaskCutoff()/255.f);
|
||||||
}
|
}
|
||||||
|
else if (mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_NONE || mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_EMISSIVE)
|
||||||
|
{
|
||||||
|
sVertexProgram->setMinimumAlpha(0.f);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sVertexProgram->setMinimumAlpha(0.004f);
|
sVertexProgram->setMinimumAlpha(0.004f);
|
||||||
@@ -1690,6 +1694,10 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)
|
|||||||
{
|
{
|
||||||
sVertexProgram->setMinimumAlpha(mat->getAlphaMaskCutoff()/255.f);
|
sVertexProgram->setMinimumAlpha(mat->getAlphaMaskCutoff()/255.f);
|
||||||
}
|
}
|
||||||
|
else if (mat && (mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_NONE || mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_EMISSIVE))
|
||||||
|
{
|
||||||
|
sVertexProgram->setMinimumAlpha(0.f);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sVertexProgram->setMinimumAlpha(0.004f);
|
sVertexProgram->setMinimumAlpha(0.004f);
|
||||||
|
|||||||
Reference in New Issue
Block a user