diff --git a/jme3-core/src/main/java/com/jme3/material/RenderState.java b/jme3-core/src/main/java/com/jme3/material/RenderState.java index ef39ddc46..0bca7ebad 100644 --- a/jme3-core/src/main/java/com/jme3/material/RenderState.java +++ b/jme3-core/src/main/java/com/jme3/material/RenderState.java @@ -176,7 +176,14 @@ public class RenderState implements Cloneable, Savable { *
* Result = 2 * Source Color * Dest Color -> (GL_DST_COLOR, GL_SRC_COLOR) */ - ModulateX2 + ModulateX2, + /** + * Opposite effect of Modulate/Multiply. Invert both colors, multiply and + * then invert the result. + *
+ * Result = 2 * Source Color * Dest Color -> (GL_ONE, GL_ONE_MINUS_SRC_COLOR) + */ + Screen } /** diff --git a/jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglRenderer.java b/jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglRenderer.java index 408146655..3b2d44ba5 100644 --- a/jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglRenderer.java +++ b/jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglRenderer.java @@ -647,6 +647,9 @@ public class LwjglRenderer implements Renderer { case ModulateX2: glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR); break; + case Screen: + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR); + break; default: throw new UnsupportedOperationException("Unrecognized blend mode: " + state.getBlendMode());