Add Screen blend mode.

This commit is contained in:
Hannes Nevalainen 2014-04-17 23:06:37 +02:00
parent 7356b727c3
commit ccb946e65d
2 changed files with 11 additions and 1 deletions

View File

@ -176,7 +176,14 @@ public class RenderState implements Cloneable, Savable {
* <p>
* 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.
* <p>
* Result = 2 * Source Color * Dest Color -> (GL_ONE, GL_ONE_MINUS_SRC_COLOR)
*/
Screen
}
/**

View File

@ -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());