Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2018-05-23 17:35:34 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-05-24 10:28:29 +0300
commite561eef3ff0b40c0abeb785d779f0c6ef73d5aa8 (patch)
treef3072a3a3e00e5862048f43f0413d8f64900ccd6 /source/blender/draw/intern/draw_manager_exec.c
parenta709e8d6bb4aa56468fefac43f21f4b9a1b3a057 (diff)
Workbench: Revealage buffer
Diffstat (limited to 'source/blender/draw/intern/draw_manager_exec.c')
-rw-r--r--source/blender/draw/intern/draw_manager_exec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index 9f4adac0106..14994e72169 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -221,7 +221,8 @@ void drw_state_set(DRWState state)
int test;
if (CHANGED_ANY_STORE_VAR(
DRW_STATE_BLEND | DRW_STATE_BLEND_PREMUL | DRW_STATE_ADDITIVE |
- DRW_STATE_MULTIPLY | DRW_STATE_TRANSMISSION | DRW_STATE_ADDITIVE_FULL,
+ DRW_STATE_MULTIPLY | DRW_STATE_TRANSMISSION | DRW_STATE_ADDITIVE_FULL |
+ DRW_STATE_TRANSPARENT_REVEALAGE,
test))
{
if (test) {
@@ -240,6 +241,9 @@ void drw_state_set(DRWState state)
else if ((state & DRW_STATE_TRANSMISSION) != 0) {
glBlendFunc(GL_ONE, GL_SRC_ALPHA);
}
+ else if ((state & DRW_STATE_TRANSPARENT_REVEALAGE) != 0) {
+ glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_COLOR);
+ }
else if ((state & DRW_STATE_ADDITIVE) != 0) {
/* Do not let alpha accumulate but premult the source RGB by it. */
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE, /* RGB */