David Catuhe 5 年之前
父節點
當前提交
3a26fdada3

+ 5 - 1
dist/preview release/babylon.d.ts

@@ -20453,6 +20453,10 @@ declare module BABYLON {
          */
         isOptional: boolean;
         /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        isExposedOnFrame: boolean;
+        /**
          * Gets or sets a string indicating that this uniform must be defined under a #ifdef
          */
         define: string;
@@ -21564,7 +21568,7 @@ declare module BABYLON {
         serialize(): any;
         /** @hidden */
         _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void;
-        private _deserializePortDisplayNames;
+        private _deserializePortDisplayNamesAndExposedOnFrame;
         /**
          * Release resources
          */

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


+ 25 - 26
dist/preview release/babylon.max.js

@@ -80077,9 +80077,9 @@ var NodeMaterialBlock = /** @class */ (function () {
     NodeMaterialBlock.prototype._deserialize = function (serializationObject, scene, rootUrl) {
         this.name = serializationObject.name;
         this.comments = serializationObject.comments;
-        this._deserializePortDisplayNames(serializationObject);
+        this._deserializePortDisplayNamesAndExposedOnFrame(serializationObject);
     };
-    NodeMaterialBlock.prototype._deserializePortDisplayNames = function (serializationObject) {
+    NodeMaterialBlock.prototype._deserializePortDisplayNamesAndExposedOnFrame = function (serializationObject) {
         var _this = this;
         var serializedInputs = serializationObject.inputs;
         var serializedOutputs = serializationObject.outputs;
@@ -80088,6 +80088,9 @@ var NodeMaterialBlock = /** @class */ (function () {
                 if (port.displayName) {
                     _this.inputs[i].displayName = port.displayName;
                 }
+                if (port.isExposedOnFrame) {
+                    _this.inputs[i].isExposedOnFrame = port.isExposedOnFrame;
+                }
             });
         }
         if (serializedOutputs) {
@@ -80095,6 +80098,9 @@ var NodeMaterialBlock = /** @class */ (function () {
                 if (port.displayName) {
                     _this.outputs[i].displayName = port.displayName;
                 }
+                if (port.isExposedOnFrame) {
+                    _this.outputs[i].isExposedOnFrame = port.isExposedOnFrame;
+                }
             });
         }
     };
@@ -80193,6 +80199,10 @@ var NodeMaterialConnectionPoint = /** @class */ (function () {
          * Observable triggered when this point is connected
          */
         this.onConnectionObservable = new _Misc_observable__WEBPACK_IMPORTED_MODULE_2__["Observable"]();
+        /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        this.isExposedOnFrame = false;
         /** @hidden */
         this._prioritizeVertex = false;
         this._target = _Enums_nodeMaterialBlockTargets__WEBPACK_IMPORTED_MODULE_1__["NodeMaterialBlockTargets"].VertexAndFragment;
@@ -80559,6 +80569,9 @@ var NodeMaterialConnectionPoint = /** @class */ (function () {
             serializationObject.targetBlockId = this.connectedPoint.ownerBlock.uniqueId;
             serializationObject.targetConnectionName = this.connectedPoint.name;
         }
+        if (this.isExposedOnFrame) {
+            serializationObject.isExposedOnFrame = this.isExposedOnFrame;
+        }
         return serializationObject;
     };
     /**
@@ -81674,7 +81687,7 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
     function PBRMaterialDefines() {
         var _this = _super.call(this) || this;
         _this.PBR = true;
-        _this.NUM_SAMPLES = "0u";
+        _this.NUM_SAMPLES = "0";
         _this.REALTIME_FILTERING = false;
         _this.MAINUV1 = false;
         _this.MAINUV2 = false;
@@ -98583,30 +98596,16 @@ var Material = /** @class */ (function () {
                 var allDone = true, lastError = null;
                 if (mesh.subMeshes) {
                     var tempSubMesh = new _Meshes_subMesh__WEBPACK_IMPORTED_MODULE_5__["SubMesh"](0, 0, 0, 0, 0, mesh, undefined, false, false);
-                    if (_this._storeEffectOnSubMeshes) {
-                        if (tempSubMesh._materialDefines) {
-                            tempSubMesh._materialDefines._renderId = -1;
-                        }
-                        if (!_this.isReadyForSubMesh(mesh, tempSubMesh, localOptions.useInstances)) {
-                            if (tempSubMesh.effect && tempSubMesh.effect.getCompilationError() && tempSubMesh.effect.allFallbacksProcessed()) {
-                                lastError = tempSubMesh.effect.getCompilationError();
-                            }
-                            else {
-                                allDone = false;
-                                setTimeout(checkReady, 16);
-                            }
-                        }
+                    if (tempSubMesh._materialDefines) {
+                        tempSubMesh._materialDefines._renderId = -1;
                     }
-                    else {
-                        tempSubMesh._renderId = -1;
-                        if (!_this.isReady(mesh, localOptions.useInstances)) {
-                            if (_this.getEffect() && _this.getEffect().getCompilationError() && _this.getEffect().allFallbacksProcessed()) {
-                                lastError = _this.getEffect().getCompilationError();
-                            }
-                            else {
-                                allDone = false;
-                                setTimeout(checkReady, 16);
-                            }
+                    if (!_this.isReadyForSubMesh(mesh, tempSubMesh, localOptions.useInstances)) {
+                        if (tempSubMesh.effect && tempSubMesh.effect.getCompilationError() && tempSubMesh.effect.allFallbacksProcessed()) {
+                            lastError = tempSubMesh.effect.getCompilationError();
+                        }
+                        else {
+                            allDone = false;
+                            setTimeout(checkReady, 16);
                         }
                     }
                 }

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


+ 10 - 2
dist/preview release/babylon.module.d.ts

@@ -21082,6 +21082,10 @@ declare module "babylonjs/Materials/Node/nodeMaterialBlockConnectionPoint" {
          */
         isOptional: boolean;
         /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        isExposedOnFrame: boolean;
+        /**
          * Gets or sets a string indicating that this uniform must be defined under a #ifdef
          */
         define: string;
@@ -22273,7 +22277,7 @@ declare module "babylonjs/Materials/Node/nodeMaterialBlock" {
         serialize(): any;
         /** @hidden */
         _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void;
-        private _deserializePortDisplayNames;
+        private _deserializePortDisplayNamesAndExposedOnFrame;
         /**
          * Release resources
          */
@@ -97988,6 +97992,10 @@ declare module BABYLON {
          */
         isOptional: boolean;
         /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        isExposedOnFrame: boolean;
+        /**
          * Gets or sets a string indicating that this uniform must be defined under a #ifdef
          */
         define: string;
@@ -99099,7 +99107,7 @@ declare module BABYLON {
         serialize(): any;
         /** @hidden */
         _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void;
-        private _deserializePortDisplayNames;
+        private _deserializePortDisplayNamesAndExposedOnFrame;
         /**
          * Release resources
          */

+ 5 - 1
dist/preview release/documentation.d.ts

@@ -20453,6 +20453,10 @@ declare module BABYLON {
          */
         isOptional: boolean;
         /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        isExposedOnFrame: boolean;
+        /**
          * Gets or sets a string indicating that this uniform must be defined under a #ifdef
          */
         define: string;
@@ -21564,7 +21568,7 @@ declare module BABYLON {
         serialize(): any;
         /** @hidden */
         _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void;
-        private _deserializePortDisplayNames;
+        private _deserializePortDisplayNamesAndExposedOnFrame;
         /**
          * Release resources
          */

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


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


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


+ 15 - 2
dist/preview release/inspector/babylon.inspector.d.ts

@@ -647,6 +647,17 @@ declare module INSPECTOR {
     }
 }
 declare module INSPECTOR {
+    export interface IIconButtonLineComponentProps {
+        icon: string;
+        onClick: () => void;
+        tooltip: string;
+    }
+    export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
+        constructor(props: IIconButtonLineComponentProps);
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     interface IGraphActionsBarProps {
         addKeyframe: () => void;
         removeKeyframe: () => void;
@@ -659,6 +670,9 @@ declare module INSPECTOR {
         lerpMode: boolean;
         currentValue: number;
         currentFrame: number;
+        title: string;
+        close: (event: any) => void;
+        enabled: boolean;
     }
     export class GraphActionsBar extends React.Component<IGraphActionsBarProps> {
         constructor(props: IGraphActionsBarProps);
@@ -669,7 +683,6 @@ declare module INSPECTOR {
     interface IAnimationCurveEditorComponentProps {
         close: (event: any) => void;
         playOrPause?: () => void;
-        title: string;
         scene: BABYLON.Scene;
         entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
     }
@@ -769,7 +782,7 @@ declare module INSPECTOR {
         };
         linearInterpolation(keyframes: BABYLON.IAnimationKey[], data: string, middle: number): string;
         setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
-        getPathData(animation: BABYLON.Animation): string;
+        getPathData(animation: BABYLON.Animation | null): string;
         getAnimationData(animation: BABYLON.Animation): {
             loopMode: number | undefined;
             name: string;

+ 31 - 4
dist/preview release/inspector/babylon.inspector.module.d.ts

@@ -726,6 +726,18 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         render(): JSX.Element;
     }
 }
+declare module "babylonjs-inspector/components/actionTabs/lines/iconButtonLineComponent" {
+    import * as React from "react";
+    export interface IIconButtonLineComponentProps {
+        icon: string;
+        onClick: () => void;
+        tooltip: string;
+    }
+    export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
+        constructor(props: IIconButtonLineComponentProps);
+        render(): JSX.Element;
+    }
+}
 declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/animations/graphActionsBar" {
     import * as React from "react";
     interface IGraphActionsBarProps {
@@ -740,6 +752,9 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         lerpMode: boolean;
         currentValue: number;
         currentFrame: number;
+        title: string;
+        close: (event: any) => void;
+        enabled: boolean;
     }
     export class GraphActionsBar extends React.Component<IGraphActionsBarProps> {
         constructor(props: IGraphActionsBarProps);
@@ -759,7 +774,6 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
     interface IAnimationCurveEditorComponentProps {
         close: (event: any) => void;
         playOrPause?: () => void;
-        title: string;
         scene: Scene;
         entity: IAnimatable | TargetedAnimation;
     }
@@ -859,7 +873,7 @@ declare module "babylonjs-inspector/components/actionTabs/tabs/propertyGrids/ani
         };
         linearInterpolation(keyframes: IAnimationKey[], data: string, middle: number): string;
         setKeyframePointLinear(point: Vector2, index: number): void;
-        getPathData(animation: Animation): string;
+        getPathData(animation: Animation | null): string;
         getAnimationData(animation: Animation): {
             loopMode: number | undefined;
             name: string;
@@ -3942,6 +3956,17 @@ declare module INSPECTOR {
     }
 }
 declare module INSPECTOR {
+    export interface IIconButtonLineComponentProps {
+        icon: string;
+        onClick: () => void;
+        tooltip: string;
+    }
+    export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
+        constructor(props: IIconButtonLineComponentProps);
+        render(): JSX.Element;
+    }
+}
+declare module INSPECTOR {
     interface IGraphActionsBarProps {
         addKeyframe: () => void;
         removeKeyframe: () => void;
@@ -3954,6 +3979,9 @@ declare module INSPECTOR {
         lerpMode: boolean;
         currentValue: number;
         currentFrame: number;
+        title: string;
+        close: (event: any) => void;
+        enabled: boolean;
     }
     export class GraphActionsBar extends React.Component<IGraphActionsBarProps> {
         constructor(props: IGraphActionsBarProps);
@@ -3964,7 +3992,6 @@ declare module INSPECTOR {
     interface IAnimationCurveEditorComponentProps {
         close: (event: any) => void;
         playOrPause?: () => void;
-        title: string;
         scene: BABYLON.Scene;
         entity: BABYLON.IAnimatable | BABYLON.TargetedAnimation;
     }
@@ -4064,7 +4091,7 @@ declare module INSPECTOR {
         };
         linearInterpolation(keyframes: BABYLON.IAnimationKey[], data: string, middle: number): string;
         setKeyframePointLinear(point: BABYLON.Vector2, index: number): void;
-        getPathData(animation: BABYLON.Animation): string;
+        getPathData(animation: BABYLON.Animation | null): string;
         getAnimationData(animation: BABYLON.Animation): {
             loopMode: number | undefined;
             name: string;

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


+ 2 - 2
dist/preview release/nodeEditor/babylon.nodeEditor.max.js

@@ -65204,7 +65204,7 @@ var NodePort = /** @class */ (function () {
     };
     Object.defineProperty(NodePort.prototype, "exposedOnFrame", {
         get: function () {
-            if (!!this._exposedOnFrame || this._isConnectedToNodeOutsideOfFrame()) {
+            if (!!this.connectionPoint.isExposedOnFrame || this._isConnectedToNodeOutsideOfFrame()) {
                 return true;
             }
             return false;
@@ -65213,7 +65213,7 @@ var NodePort = /** @class */ (function () {
             if (this.disabled) {
                 return;
             }
-            this._exposedOnFrame = value;
+            this.connectionPoint.isExposedOnFrame = value;
         },
         enumerable: true,
         configurable: true

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


+ 10 - 2
dist/preview release/viewer/babylon.module.d.ts

@@ -21082,6 +21082,10 @@ declare module "babylonjs/Materials/Node/nodeMaterialBlockConnectionPoint" {
          */
         isOptional: boolean;
         /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        isExposedOnFrame: boolean;
+        /**
          * Gets or sets a string indicating that this uniform must be defined under a #ifdef
          */
         define: string;
@@ -22273,7 +22277,7 @@ declare module "babylonjs/Materials/Node/nodeMaterialBlock" {
         serialize(): any;
         /** @hidden */
         _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void;
-        private _deserializePortDisplayNames;
+        private _deserializePortDisplayNamesAndExposedOnFrame;
         /**
          * Release resources
          */
@@ -97988,6 +97992,10 @@ declare module BABYLON {
          */
         isOptional: boolean;
         /**
+         * Gets or sets a boolean indicating that this connection point is exposed on a frame
+         */
+        isExposedOnFrame: boolean;
+        /**
          * Gets or sets a string indicating that this uniform must be defined under a #ifdef
          */
         define: string;
@@ -99099,7 +99107,7 @@ declare module BABYLON {
         serialize(): any;
         /** @hidden */
         _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void;
-        private _deserializePortDisplayNames;
+        private _deserializePortDisplayNamesAndExposedOnFrame;
         /**
          * Release resources
          */

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


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