|
@@ -3480,7 +3480,6 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(false);
|
|
enable_multisample_alpha_mask(false);
|
|
|
enable_blend(true);
|
|
enable_blend(true);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
call_glBlendFunc(GL_ZERO, GL_ONE);
|
|
call_glBlendFunc(GL_ZERO, GL_ONE);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -3494,7 +3493,6 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(false);
|
|
enable_multisample_alpha_mask(false);
|
|
|
enable_blend(true);
|
|
enable_blend(true);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
call_glBlendFunc(GL_DST_COLOR, GL_ZERO);
|
|
call_glBlendFunc(GL_DST_COLOR, GL_ZERO);
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
@@ -3502,7 +3500,6 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(false);
|
|
enable_multisample_alpha_mask(false);
|
|
|
enable_blend(true);
|
|
enable_blend(true);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
call_glBlendFunc(GL_ONE, GL_ONE);
|
|
call_glBlendFunc(GL_ONE, GL_ONE);
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
@@ -3510,7 +3507,6 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(false);
|
|
enable_multisample_alpha_mask(false);
|
|
|
enable_blend(true);
|
|
enable_blend(true);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
call_glBlendFunc(GL_DST_COLOR, GL_ONE);
|
|
call_glBlendFunc(GL_DST_COLOR, GL_ONE);
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
@@ -3523,10 +3519,12 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
// No color blend; is there a transparency set?
|
|
// No color blend; is there a transparency set?
|
|
|
switch (transparency_mode) {
|
|
switch (transparency_mode) {
|
|
|
case TransparencyAttrib::M_none:
|
|
case TransparencyAttrib::M_none:
|
|
|
|
|
+ case TransparencyAttrib::M_binary:
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
case TransparencyAttrib::M_alpha:
|
|
case TransparencyAttrib::M_alpha:
|
|
|
case TransparencyAttrib::M_alpha_sorted:
|
|
case TransparencyAttrib::M_alpha_sorted:
|
|
|
|
|
+ case TransparencyAttrib::M_dual:
|
|
|
// Should we really have an "alpha" and an "alpha_sorted" mode,
|
|
// Should we really have an "alpha" and an "alpha_sorted" mode,
|
|
|
// like Performer does? (The difference is that "alpha" is with
|
|
// like Performer does? (The difference is that "alpha" is with
|
|
|
// the write to the depth buffer disabled.) Or should we just use
|
|
// the write to the depth buffer disabled.) Or should we just use
|
|
@@ -3537,30 +3535,19 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(false);
|
|
enable_multisample_alpha_mask(false);
|
|
|
enable_blend(true);
|
|
enable_blend(true);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
call_glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
call_glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
|
return;
|
|
return;
|
|
|
-
|
|
|
|
|
- case TransparencyAttrib::M_binary:
|
|
|
|
|
- enable_multisample_alpha_one(false);
|
|
|
|
|
- enable_multisample_alpha_mask(false);
|
|
|
|
|
- enable_blend(false);
|
|
|
|
|
- enable_alpha_test(true);
|
|
|
|
|
- call_glAlphaFunc(GL_EQUAL, 1);
|
|
|
|
|
- return;
|
|
|
|
|
|
|
|
|
|
case TransparencyAttrib::M_multisample:
|
|
case TransparencyAttrib::M_multisample:
|
|
|
enable_multisample_alpha_one(true);
|
|
enable_multisample_alpha_one(true);
|
|
|
enable_multisample_alpha_mask(true);
|
|
enable_multisample_alpha_mask(true);
|
|
|
enable_blend(false);
|
|
enable_blend(false);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
case TransparencyAttrib::M_multisample_mask:
|
|
case TransparencyAttrib::M_multisample_mask:
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(true);
|
|
enable_multisample_alpha_mask(true);
|
|
|
enable_blend(false);
|
|
enable_blend(false);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
default:
|
|
default:
|
|
@@ -3573,7 +3560,6 @@ set_blend_mode(ColorWriteAttrib::Mode color_write_mode,
|
|
|
enable_multisample_alpha_one(false);
|
|
enable_multisample_alpha_one(false);
|
|
|
enable_multisample_alpha_mask(false);
|
|
enable_multisample_alpha_mask(false);
|
|
|
enable_blend(false);
|
|
enable_blend(false);
|
|
|
- enable_alpha_test(false);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|