瀏覽代碼

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js

sebastien 7 年之前
父節點
當前提交
c251fbb987
共有 36 個文件被更改,包括 45564 次插入30825 次删除
  1. 26349 11796
      Playground/babylon.d.txt
  2. 17087 16964
      dist/preview release/babylon.d.ts
  3. 49 49
      dist/preview release/babylon.js
  4. 381 253
      dist/preview release/babylon.max.js
  5. 381 253
      dist/preview release/babylon.no-module.max.js
  6. 53 53
      dist/preview release/babylon.worker.js
  7. 381 253
      dist/preview release/es6.js
  8. 3 3
      dist/preview release/gui/babylon.gui.min.js
  9. 4 4
      dist/preview release/inspector/babylon.inspector.bundle.js
  10. 3 3
      dist/preview release/inspector/babylon.inspector.min.js
  11. 2 2
      dist/preview release/loaders/babylon.glTF1FileLoader.min.js
  12. 2 2
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  13. 3 3
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  14. 1 1
      dist/preview release/loaders/babylon.objFileLoader.min.js
  15. 3 3
      dist/preview release/loaders/babylonjs.loaders.min.js
  16. 1 1
      dist/preview release/materialsLibrary/babylon.customMaterial.min.js
  17. 1 1
      dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js
  18. 1 1
      dist/preview release/materialsLibrary/babylon.waterMaterial.min.js
  19. 3 3
      dist/preview release/materialsLibrary/babylonjs.materials.min.js
  20. 1 1
      dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js
  21. 1 1
      dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js
  22. 1 1
      dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js
  23. 1 1
      dist/preview release/serializers/babylon.glTF2Serializer.min.js
  24. 1 1
      dist/preview release/serializers/babylonjs.serializers.min.js
  25. 0 607
      dist/preview release/typedocValidationBaseline.json
  26. 59 59
      dist/preview release/viewer/babylon.viewer.js
  27. 381 253
      dist/preview release/viewer/babylon.viewer.max.js
  28. 3 0
      src/Animations/babylon.animation.ts
  29. 11 4
      src/Engine/babylon.engine.ts
  30. 376 235
      src/Math/babylon.math.ts
  31. 6 6
      src/Mesh/babylon.buffer.ts
  32. 3 2
      src/Mesh/babylon.geometry.ts
  33. 6 3
      src/Mesh/babylon.vertexBuffer.ts
  34. 二進制
      tests/validation/ReferenceImages/texture cache.png
  35. 5 0
      tests/validation/config.json
  36. 1 3
      tests/validation/index.html

文件差異過大導致無法顯示
+ 26349 - 11796
Playground/babylon.d.txt


文件差異過大導致無法顯示
+ 17087 - 16964
dist/preview release/babylon.d.ts


文件差異過大導致無法顯示
+ 49 - 49
dist/preview release/babylon.js


文件差異過大導致無法顯示
+ 381 - 253
dist/preview release/babylon.max.js


文件差異過大導致無法顯示
+ 381 - 253
dist/preview release/babylon.no-module.max.js


文件差異過大導致無法顯示
+ 53 - 53
dist/preview release/babylon.worker.js


文件差異過大導致無法顯示
+ 381 - 253
dist/preview release/es6.js


文件差異過大導致無法顯示
+ 3 - 3
dist/preview release/gui/babylon.gui.min.js


文件差異過大導致無法顯示
+ 4 - 4
dist/preview release/inspector/babylon.inspector.bundle.js


文件差異過大導致無法顯示
+ 3 - 3
dist/preview release/inspector/babylon.inspector.min.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylon.glTF1FileLoader.min.js


文件差異過大導致無法顯示
+ 2 - 2
dist/preview release/loaders/babylon.glTF2FileLoader.min.js


文件差異過大導致無法顯示
+ 3 - 3
dist/preview release/loaders/babylon.glTFFileLoader.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/loaders/babylon.objFileLoader.min.js


文件差異過大導致無法顯示
+ 3 - 3
dist/preview release/loaders/babylonjs.loaders.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.customMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.shadowOnlyMaterial.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/materialsLibrary/babylon.waterMaterial.min.js


文件差異過大導致無法顯示
+ 3 - 3
dist/preview release/materialsLibrary/babylonjs.materials.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.asciiArtPostProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylon.digitalRainPostProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/postProcessesLibrary/babylonjs.postProcess.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/serializers/babylon.glTF2Serializer.min.js


文件差異過大導致無法顯示
+ 1 - 1
dist/preview release/serializers/babylonjs.serializers.min.js


+ 0 - 607
dist/preview release/typedocValidationBaseline.json

@@ -16884,613 +16884,6 @@
         }
       }
     },
-    "Quaternion": {
-      "Class": {
-        "Comments": {
-          "MissingText": true
-        }
-      },
-      "Property": {
-        "w": {
-          "Comments": {
-            "MissingText": true
-          }
-        },
-        "x": {
-          "Comments": {
-            "MissingText": true
-          }
-        },
-        "y": {
-          "Comments": {
-            "MissingText": true
-          }
-        },
-        "z": {
-          "Comments": {
-            "MissingText": true
-          }
-        }
-      },
-      "Method": {
-        "add": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "other": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "asArray": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "clone": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "conjugate": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "conjugateInPlace": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "conjugateToRef": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "ref": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "copyFrom": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "other": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "copyFromFloats": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "x": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "y": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "z": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "w": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "equals": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "otherQuaternion": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "fromRotationMatrix": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "matrix": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "getClassName": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "getHashCode": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "length": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "multiply": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "q1": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "multiplyInPlace": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "q1": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "multiplyToRef": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "q1": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "normalize": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "scale": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "value": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "set": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "x": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "y": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "z": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "w": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "subtract": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "other": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "toRotationMatrix": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "ToString": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "FromArray": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "array": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "offset": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "FromRotationMatrix": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "matrix": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "FromRotationMatrixToRef": {
-          "Parameter": {
-            "matrix": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "Hermite": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "value1": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "tangent1": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "value2": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "tangent2": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "amount": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "Identity": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        },
-        "Inverse": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "q": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "IsIdentity": {
-          "Comments": {
-            "MissingText": true
-          },
-          "Parameter": {
-            "quaternion": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationAlphaBetaGamma": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "alpha": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "beta": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "gamma": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationAlphaBetaGammaToRef": {
-          "Parameter": {
-            "alpha": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "beta": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "gamma": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationAxis": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "axis": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "angle": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationAxisToRef": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "axis": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "angle": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationQuaternionFromAxis": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "axis1": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "axis2": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "axis3": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "ref": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationQuaternionFromAxisToRef": {
-          "Parameter": {
-            "axis1": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "axis2": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "axis3": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "ref": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationYawPitchRoll": {
-          "Comments": {
-            "MissingReturn": true
-          },
-          "Parameter": {
-            "yaw": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "pitch": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "roll": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "RotationYawPitchRollToRef": {
-          "Parameter": {
-            "yaw": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "pitch": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "roll": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "Slerp": {
-          "Comments": {
-            "MissingText": true
-          },
-          "Parameter": {
-            "left": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "right": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "amount": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "SlerpToRef": {
-          "Comments": {
-            "MissingText": true
-          },
-          "Parameter": {
-            "left": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "right": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "amount": {
-              "Comments": {
-                "MissingText": true
-              }
-            },
-            "result": {
-              "Comments": {
-                "MissingText": true
-              }
-            }
-          }
-        },
-        "Zero": {
-          "Comments": {
-            "MissingReturn": true
-          }
-        }
-      }
-    },
     "QuinticEase": {
       "Class": {
         "Comments": {

文件差異過大導致無法顯示
+ 59 - 59
dist/preview release/viewer/babylon.viewer.js


文件差異過大導致無法顯示
+ 381 - 253
dist/preview release/viewer/babylon.viewer.max.js


+ 3 - 0
src/Animations/babylon.animation.ts

@@ -96,6 +96,9 @@
         STEP = 1
     }
 
+    /**
+     * Class used to store any kind of animation
+     */
     export class Animation {
         /**
          * Use matrix interpolation instead of using direct key value when animating matrices

+ 11 - 4
src/Engine/babylon.engine.ts

@@ -6397,18 +6397,21 @@
                 channel = this._getCorrectTextureChannel(channel, internalTexture);
             }
 
+            let needToBind = true;
             if (this._boundTexturesCache[channel] === internalTexture) {
                 this._moveBoundTextureOnTop(internalTexture);
                 if (!isPartOfTextureArray) {
                     this._bindSamplerUniformToChannel(internalTexture._initialSlot, channel);
                 }
-                return false;
+                needToBind = false;
             }
 
             this._activeChannel = channel;
 
             if (internalTexture && internalTexture.is3D) {
-                this._bindTextureDirectly(this._gl.TEXTURE_3D, internalTexture, isPartOfTextureArray);
+                if (needToBind) {
+                    this._bindTextureDirectly(this._gl.TEXTURE_3D, internalTexture, isPartOfTextureArray);
+                }
 
                 if (internalTexture && internalTexture._cachedWrapU !== texture.wrapU) {
                     internalTexture._cachedWrapU = texture.wrapU;
@@ -6459,7 +6462,9 @@
                 this._setAnisotropicLevel(this._gl.TEXTURE_3D, texture);
             }
             else if (internalTexture && internalTexture.isCube) {
-                this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, internalTexture, isPartOfTextureArray);
+                if (needToBind) {
+                    this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, internalTexture, isPartOfTextureArray);
+                }
 
                 if (internalTexture._cachedCoordinatesMode !== texture.coordinatesMode) {
                     internalTexture._cachedCoordinatesMode = texture.coordinatesMode;
@@ -6471,7 +6476,9 @@
 
                 this._setAnisotropicLevel(this._gl.TEXTURE_CUBE_MAP, texture);
             } else {
-                this._bindTextureDirectly(this._gl.TEXTURE_2D, internalTexture, isPartOfTextureArray);
+                if (needToBind) {               
+                    this._bindTextureDirectly(this._gl.TEXTURE_2D, internalTexture, isPartOfTextureArray);
+                }
 
                 if (internalTexture && internalTexture._cachedWrapU !== texture.wrapU) {
                     internalTexture._cachedWrapU = texture.wrapU;

文件差異過大導致無法顯示
+ 376 - 235
src/Math/babylon.math.ts


+ 6 - 6
src/Mesh/babylon.buffer.ts

@@ -34,7 +34,7 @@
 
             this._data = data;
 
-            this.byteStride = useBytes ? stride : stride * 4;
+            this.byteStride = useBytes ? stride : stride * Float32Array.BYTES_PER_ELEMENT;
 
             if (!postponeInternalCreation) { // by default
                 this.create();
@@ -52,8 +52,8 @@
          * @returns the new vertex buffer
          */
         public createVertexBuffer(kind: string, offset: number, size: number, stride?: number, instanced?: boolean, useBytes = false): VertexBuffer {
-            const byteOffset = useBytes ? offset : offset * 4;
-            const byteStride = stride ? (useBytes ? stride : stride * 4) : this.byteStride;
+            const byteOffset = useBytes ? offset : offset * Float32Array.BYTES_PER_ELEMENT;
+            const byteStride = stride ? (useBytes ? stride : stride * Float32Array.BYTES_PER_ELEMENT) : this.byteStride;
 
             // a lot of these parameters are ignored as they are overriden by the buffer
             return new VertexBuffer(this._engine, this, kind, this._updatable, true, byteStride, instanced === undefined ? this._instanced : instanced, byteOffset, size, undefined, undefined, true);
@@ -79,7 +79,7 @@
          * @returns the stride in float32 units
          */
         public getStrideSize(): number {
-            return this.byteStride / 4;
+            return this.byteStride / Float32Array.BYTES_PER_ELEMENT;
         }
 
         // Methods
@@ -123,13 +123,13 @@
          * @param vertexCount the vertex count (optional)
          * @param useBytes set to true if the offset is in bytes
          */
-        public updateDirectly(data: DataArray, offset: number, vertexCount?: number, useBytes = false): void {
+        public updateDirectly(data: DataArray, offset: number, vertexCount?: number, useBytes: boolean = false): void {
             if (!this._buffer) {
                 return;
             }
 
             if (this._updatable) { // update buffer
-                this._engine.updateDynamicVertexBuffer(this._buffer, data, useBytes ? offset : offset * 4, (vertexCount ? vertexCount * this.byteStride : undefined));
+                this._engine.updateDynamicVertexBuffer(this._buffer, data, useBytes ? offset : offset * Float32Array.BYTES_PER_ELEMENT, (vertexCount ? vertexCount * this.byteStride : undefined));
                 this._data = null;
             }
         }

+ 3 - 2
src/Mesh/babylon.geometry.ts

@@ -271,15 +271,16 @@
          * @param kind defines the data kind (Position, normal, etc...)
          * @param data defines the data to use 
          * @param offset defines the offset in the target buffer where to store the data
+         * @param useBytes set to true if the offset is in bytes
          */
-        public updateVerticesDataDirectly(kind: string, data: Float32Array, offset: number): void {
+        public updateVerticesDataDirectly(kind: string, data: DataArray, offset: number, useBytes: boolean = false): void {
             var vertexBuffer = this.getVertexBuffer(kind);
 
             if (!vertexBuffer) {
                 return;
             }
 
-            vertexBuffer.updateDirectly(data, offset);
+            vertexBuffer.updateDirectly(data, offset, useBytes);
             this.notifyUpdate(kind);
         }
 

+ 6 - 3
src/Mesh/babylon.vertexBuffer.ts

@@ -232,10 +232,13 @@
 
         /**
          * Updates directly the underlying WebGLBuffer according to the passed numeric array or Float32Array.  
-         * Returns the directly updated WebGLBuffer. 
+         * Returns the directly updated WebGLBuffer.
+         * @param data the new data
+         * @param offset the new offset
+         * @param useBytes set to true if the offset is in bytes
          */
-        public updateDirectly(data: DataArray, offset: number): void {
-            return this._buffer.updateDirectly(data, offset);
+        public updateDirectly(data: DataArray, offset: number, useBytes: boolean = false): void {
+            this._buffer.updateDirectly(data, offset, undefined, useBytes);
         }
 
         /** 

二進制
tests/validation/ReferenceImages/texture cache.png


+ 5 - 0
tests/validation/config.json

@@ -455,6 +455,11 @@
       "title": "Local cubemaps",
       "playgroundId": "#RNASML#4",
       "referenceImage": "local cubemaps.png"
+    },
+    {
+      "title": "Texture cache",
+      "playgroundId": "#20OAV9#133",
+      "referenceImage": "texture cache.png"
     }
   ]
 }

+ 1 - 3
tests/validation/index.html

@@ -3,9 +3,7 @@
 <head>
 	<title>BabylonJS - Build validation page</title>
 	<link href="index.css" rel="stylesheet" />	
-    <script src="https://preview.babylonjs.com/draco_decoder.js" type="text/x-draco-decoder"></script>
-    <script src="https://preview.babylonjs.com/draco_decoder.wasm" type="text/x-draco-decoder-wasm-binary"></script>
-    <script src="https://preview.babylonjs.com/draco_wasm_wrapper.js" type="text/x-draco-decoder-wasm-wrapper"></script>
+    <script src="https://preview.babylonjs.com/draco_decoder.js"></script>
 	<script src="https://unpkg.com/earcut@2.1.1/dist/earcut.min.js"></script>
 	<script src="../../Tools/DevLoader/BabylonLoader.js"></script>
 </head>