|
@@ -16,6 +16,11 @@ OpenGLState::OpenGLState() {
|
|
|
depth.test_func = GL_LESS;
|
|
depth.test_func = GL_LESS;
|
|
|
depth.write_mask = GL_TRUE;
|
|
depth.write_mask = GL_TRUE;
|
|
|
|
|
|
|
|
|
|
+ color_mask.red_enabled = GL_TRUE;
|
|
|
|
|
+ color_mask.green_enabled = GL_TRUE;
|
|
|
|
|
+ color_mask.blue_enabled = GL_TRUE;
|
|
|
|
|
+ color_mask.alpha_enabled = GL_TRUE;
|
|
|
|
|
+
|
|
|
stencil.test_enabled = false;
|
|
stencil.test_enabled = false;
|
|
|
stencil.test_func = GL_ALWAYS;
|
|
stencil.test_func = GL_ALWAYS;
|
|
|
stencil.test_ref = 0;
|
|
stencil.test_ref = 0;
|
|
@@ -77,6 +82,14 @@ void OpenGLState::Apply() {
|
|
|
glDepthMask(depth.write_mask);
|
|
glDepthMask(depth.write_mask);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // Color mask
|
|
|
|
|
+ if (color_mask.red_enabled != cur_state.color_mask.red_enabled ||
|
|
|
|
|
+ color_mask.green_enabled != cur_state.color_mask.green_enabled ||
|
|
|
|
|
+ color_mask.blue_enabled != cur_state.color_mask.blue_enabled ||
|
|
|
|
|
+ color_mask.alpha_enabled != cur_state.color_mask.alpha_enabled) {
|
|
|
|
|
+ glColorMask(color_mask.red_enabled, color_mask.green_enabled, color_mask.blue_enabled, color_mask.alpha_enabled);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// Stencil test
|
|
// Stencil test
|
|
|
if (stencil.test_enabled != cur_state.stencil.test_enabled) {
|
|
if (stencil.test_enabled != cur_state.stencil.test_enabled) {
|
|
|
if (stencil.test_enabled) {
|
|
if (stencil.test_enabled) {
|