- added option to disable alpha testing for user shaders.
This commit is contained in:
parent
40da1dbfbc
commit
91df3f8c73
5 changed files with 23 additions and 12 deletions
|
|
@ -1154,6 +1154,15 @@ class GLDefsParser
|
|||
tex->bDisableFullbright = disable_fullbright;
|
||||
}
|
||||
|
||||
void SetShaderIndex(FTexture *tex, unsigned index)
|
||||
{
|
||||
auto desc = usershaders[index - FIRST_USER_SHADER];
|
||||
if (desc.disablealphatest)
|
||||
{
|
||||
tex->bTranslucent = true;
|
||||
}
|
||||
tex->shaderindex = index;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
|
|
@ -1370,11 +1379,11 @@ class GLDefsParser
|
|||
usershaders[i].shaderType == usershader.shaderType &&
|
||||
!usershaders[i].defines.Compare(usershader.defines))
|
||||
{
|
||||
tex->shaderindex = i + FIRST_USER_SHADER;
|
||||
SetShaderIndex(tex, i + FIRST_USER_SHADER);
|
||||
return;
|
||||
}
|
||||
}
|
||||
tex->shaderindex = usershaders.Push(usershader) + FIRST_USER_SHADER;
|
||||
SetShaderIndex(tex, usershaders.Push(usershader) + FIRST_USER_SHADER);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1570,6 +1579,10 @@ class GLDefsParser
|
|||
}
|
||||
desc.defines.AppendFormat("#define %s %s\n", defineName.GetChars(), defineValue.GetChars());
|
||||
}
|
||||
else if (sc.Compare("disablealphatest"))
|
||||
{
|
||||
desc.disablealphatest = true;
|
||||
}
|
||||
}
|
||||
if (!tex)
|
||||
{
|
||||
|
|
@ -1607,11 +1620,11 @@ class GLDefsParser
|
|||
usershaders[i].shaderType == desc.shaderType &&
|
||||
!usershaders[i].defines.Compare(desc.defines))
|
||||
{
|
||||
tex->shaderindex = i + FIRST_USER_SHADER;
|
||||
SetShaderIndex(tex, i + FIRST_USER_SHADER);
|
||||
return;
|
||||
}
|
||||
}
|
||||
tex->shaderindex = usershaders.Push(desc) + FIRST_USER_SHADER;
|
||||
SetShaderIndex(tex, usershaders.Push(desc) + FIRST_USER_SHADER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue