浏览代码

Merge pull request #1256 from nockawa/master

Fix Texture loaded delay on transparent primitives
Raanan Weber 9 年之前
父节点
当前提交
6e701441cf
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/Canvas2d/babylon.renderablePrim2d.ts

+ 4 - 2
src/Canvas2d/babylon.renderablePrim2d.ts

@@ -665,9 +665,11 @@
 
             // For each Instance Data part, refresh it to update the data in the DynamicFloatArray
             for (let part of this._instanceDataParts) {
+                let justAllocated = false;
                 // Check if we need to allocate data elements (hidden prim which becomes visible again)
                 if (visChanged || !part.dataElements || rmChanged) {
                     part.allocElements();
+                    justAllocated = true;
                 }
 
                 InstanceClassInfo._CurCategories = gii.usedShaderCategories[gii.partIndexFromId.get(part.id.toString())];
@@ -681,7 +683,7 @@
                     }
                 }
 
-                rebuildTrans = rebuildTrans || part.arrayLengthChanged;
+                rebuildTrans = rebuildTrans || part.arrayLengthChanged || justAllocated;
             }
             this._instanceDirtyFlags = 0;
 
@@ -705,7 +707,7 @@
             let maxOff = 0;
 
             for (let part of this._instanceDataParts) {
-                if (part) {
+                if (part && part.dataElements) {
                     part.dataBuffer.pack();
                     for (let el of part.dataElements) {
                         minOff = Math.min(minOff, el.offset);