Merge pull request #1041 from Akz-/grim-sprite-fix

GRIM: Enable alpha test when drawing sprites.
This commit is contained in:
Paweł Kołodziejski
2014-08-18 22:02:28 +02:00
3 changed files with 14 additions and 6 deletions
+5 -2
View File
@@ -860,9 +860,12 @@ void GfxOpenGL::drawSprite(const Sprite *sprite) {
glDisable(GL_LIGHTING);
if (sprite->_flags2 & Sprite::AlphaTest) {
if (g_grim->getGameType() == GType_GRIM) {
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GEQUAL, g_grim->getGameType() == GType_MONKEY4 ? 0.1f : 0.5f);
glAlphaFunc(GL_GEQUAL, 0.5f);
} else if (sprite->_flags2 & Sprite::AlphaTest) {
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GEQUAL, 0.1f);
} else {
glDisable(GL_ALPHA_TEST);
}
+4 -2
View File
@@ -1001,8 +1001,10 @@ void GfxOpenGLS::drawSprite(const Sprite *sprite) {
_spriteProgram->setUniform("textured", GL_TRUE);
_spriteProgram->setUniform("isBillboard", GL_TRUE);
_spriteProgram->setUniform("lightsEnabled", false);
if (sprite->_flags2 & Sprite::AlphaTest) {
_spriteProgram->setUniform1f("alphaRef", g_grim->getGameType() == GType_MONKEY4 ? 0.1f : 0.5f);
if (g_grim->getGameType() == GType_GRIM) {
_spriteProgram->setUniform1f("alphaRef", 0.5f);
} else if (sprite->_flags2 & Sprite::AlphaTest) {
_spriteProgram->setUniform1f("alphaRef", 0.1f);
} else {
_spriteProgram->setUniform1f("alphaRef", 0.0f);
}
+5 -2
View File
@@ -782,9 +782,12 @@ void GfxTinyGL::drawSprite(const Sprite *sprite) {
tglDisable(TGL_LIGHTING);
if (sprite->_flags2 & Sprite::AlphaTest) {
if (g_grim->getGameType() == GType_GRIM) {
tglEnable(TGL_ALPHA_TEST);
tglAlphaFunc(TGL_GEQUAL, g_grim->getGameType() == GType_MONKEY4 ? 0.1f : 0.5f);
tglAlphaFunc(TGL_GEQUAL, 0.5f);
} else if (sprite->_flags2 & Sprite::AlphaTest) {
tglEnable(TGL_ALPHA_TEST);
tglAlphaFunc(TGL_GEQUAL, 0.1f);
} else {
tglDisable(TGL_ALPHA_TEST);
}