|
|
@@ -706,6 +706,27 @@ class WebGLBackend extends Backend {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Returns the clear color and alpha into a single
|
|
|
+ * color object.
|
|
|
+ *
|
|
|
+ * @return {Color4} The clear color.
|
|
|
+ */
|
|
|
+ getClearColor() {
|
|
|
+
|
|
|
+ const clearColor = super.getClearColor();
|
|
|
+
|
|
|
+ // Since the canvas is always created with alpha: true,
|
|
|
+ // WebGL must always premultiply the clear color.
|
|
|
+
|
|
|
+ clearColor.r *= clearColor.a;
|
|
|
+ clearColor.g *= clearColor.a;
|
|
|
+ clearColor.b *= clearColor.a;
|
|
|
+
|
|
|
+ return clearColor;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Performs a clear operation.
|
|
|
*
|
|
|
@@ -723,12 +744,6 @@ class WebGLBackend extends Backend {
|
|
|
|
|
|
const clearColor = this.getClearColor();
|
|
|
|
|
|
- // premultiply alpha
|
|
|
-
|
|
|
- clearColor.r *= clearColor.a;
|
|
|
- clearColor.g *= clearColor.a;
|
|
|
- clearColor.b *= clearColor.a;
|
|
|
-
|
|
|
descriptor = {
|
|
|
textures: null,
|
|
|
clearColorValue: clearColor
|
|
|
@@ -756,12 +771,6 @@ class WebGLBackend extends Backend {
|
|
|
|
|
|
clearColor = this.getClearColor();
|
|
|
|
|
|
- // premultiply alpha
|
|
|
-
|
|
|
- clearColor.r *= clearColor.a;
|
|
|
- clearColor.g *= clearColor.a;
|
|
|
- clearColor.b *= clearColor.a;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
const clearDepth = renderer.getClearDepth();
|