Prechádzať zdrojové kódy

Canvas2D: fix Alpha not spreading to children

#1942 the dirty flag wasn't inertially set so actualOpacity was computed if no change were made since the initial assignment.
nockawa 8 rokov pred
rodič
commit
532e6be628

+ 1 - 0
canvas2D/src/Engine/babylon.prim2dBase.ts

@@ -3638,6 +3638,7 @@
             }
             let length = this._children.push(child);
             this._firstZDirtyIndex = Math.min(this._firstZDirtyIndex, length - 1);
+            child._setFlags(SmartPropertyPrim.flagActualOpacityDirty);
         }
 
         /**

+ 1 - 1
canvas2D/src/shaders/text2d.fragment.fx

@@ -26,7 +26,7 @@ void main(void) {
 		discard;
 	}
 #ifdef FontTexture
-	gl_FragColor = vec4(color.xxxx)*vColor;
+	gl_FragColor = vec4(color.xxx*vColor*vColor.a, vColor.a);
 #else
 	gl_FragColor = color*vColor;
 #endif

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2 - 1
dist/preview release/canvas2D/babylon.canvas2d.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 9 - 9
dist/preview release/canvas2D/babylon.canvas2d.min.js