WINTERMUTE: Implement setup2d (almost)
This commit is contained in:
parent
8407fe0647
commit
47e3befd1b
2 changed files with 36 additions and 0 deletions
|
@ -127,6 +127,41 @@ void Wintermute::BaseRenderOpenGL3D::initLoop() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Wintermute::BaseRenderOpenGL3D::setup2D(bool force) {
|
bool Wintermute::BaseRenderOpenGL3D::setup2D(bool force) {
|
||||||
|
if (_state3D || force)
|
||||||
|
{
|
||||||
|
_state3D = false;
|
||||||
|
|
||||||
|
// some states are still missing here
|
||||||
|
|
||||||
|
glDisable(GL_LIGHTING);
|
||||||
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
glDisable(GL_STENCIL);
|
||||||
|
glDisable(GL_CLIP_PLANE0);
|
||||||
|
glDisable(GL_FOG);
|
||||||
|
glLightModeli(GL_LIGHT_MODEL_AMBIENT, 0);
|
||||||
|
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
|
glCullFace(GL_CCW);
|
||||||
|
glEnable(GL_ALPHA_TEST);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
|
glAlphaFunc(GL_GEQUAL, 0x00);
|
||||||
|
glPolygonMode(GL_FRONT, GL_FILL);
|
||||||
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
|
||||||
|
glTexEnvf(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
|
||||||
|
glTexEnvf(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_PREVIOUS);
|
||||||
|
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_MODULATE);
|
||||||
|
glTexEnvf(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
|
||||||
|
glTexEnvf(GL_TEXTURE_ENV, GL_SRC1_ALPHA, GL_PREVIOUS);
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE1);
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
|
||||||
|
glActiveTexture(GL_TEXTURE0);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,6 +130,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool _spriteBatchMode;
|
bool _spriteBatchMode;
|
||||||
|
bool _state3D;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // wintermute namespace
|
} // wintermute namespace
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue