break;
case SDLK_F9:
//TRANSPARENCY
+ if (!key_toggle[SDLK_F9])
+ Graphix::disableEffects(EF_TRANSPARENCY);
+ else
+ Graphix::enableEffects(EF_TRANSPARENCY);
break;
case SDLK_F10:
//??? FullScreen
- if (key_toggle[SDLK_F10])
- Graphix::FullScreen(false,true);
- else
+ if (!key_toggle[SDLK_F10])
Graphix::FullScreen(true,true);
+ else
+ Graphix::FullScreen(false,true);
break;
case SDLK_SPACE:
jump++;
void Graphix::enableEffects(Effects _eff)
{
effects |= _eff;
+
+ updateEffects();
}
void Graphix::disableEffects(Effects _eff)
{
effects &= ~_eff;
+
+ updateEffects();
}
bool Graphix::testEffect(Effects _eff)
return effects & _eff;
}
+void Graphix::updateEffects()
+{
+ //Transparency
+ if (effects & EF_TRANSPARENCY)
+ {
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ }
+ else
+ glDisable(GL_BLEND);
+}
+
void Graphix::init()
{
static Shader* shader_BBox;
private:
+
+ static void updateEffects();
+
static unsigned int xpos, ypos, width, height;
static unsigned int width_bkp, height_bkp;