David Catuhe 6 년 전
부모
커밋
ed1eb2cbf2

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 11198 - 11192
Playground/babylon.d.txt


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 10956 - 10950
dist/preview release/babylon.d.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/babylon.js


+ 35 - 10
dist/preview release/babylon.max.js

@@ -5457,10 +5457,10 @@ var BABYLON;
          * @return the angle between vector0 and vector1
          */
         Vector3.GetAngleBetweenVectors = function (vector0, vector1, normal) {
-            var v0 = vector0.normalizeToRef(MathTmp.Vector3[0]);
-            var v1 = vector1.normalizeToRef(MathTmp.Vector3[1]);
+            var v0 = vector0.normalizeToRef(MathTmp.Vector3[1]);
+            var v1 = vector1.normalizeToRef(MathTmp.Vector3[2]);
             var dot = Vector3.Dot(v0, v1);
-            var n = MathTmp.Vector3[2];
+            var n = MathTmp.Vector3[3];
             Vector3.CrossToRef(v0, v1, n);
             if (Vector3.Dot(n, normal) > 0) {
                 return Math.acos(dot);
@@ -43218,6 +43218,12 @@ var BABYLON;
         function PushMaterial(name, scene) {
             var _this = _super.call(this, name, scene) || this;
             _this._normalMatrix = new BABYLON.Matrix();
+            /**
+             * Gets or sets a boolean indicating that the material is allowed to do shader hot swapping.
+             * This means that the material can keep using a previous shader while a new one is being compiled.
+             * This is mostly used when shader parallel compilation is supported (true by default)
+             */
+            _this.allowShaderHotSwapping = true;
             _this.storeEffectOnSubMeshes = true;
             return _this;
         }
@@ -43965,7 +43971,6 @@ var BABYLON;
             // Get correct effect
             if (defines.isDirty) {
                 defines.markAsProcessed();
-                scene.resetCachedMaterial();
                 // Fallbacks
                 var fallbacks = new BABYLON.EffectFallbacks();
                 if (defines.REFLECTION) {
@@ -44058,7 +44063,8 @@ var BABYLON;
                     shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines);
                 }
                 var join = defines.toString();
-                subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
+                var previousEffect = subMesh.effect;
+                var effect = scene.getEngine().createEffect(shaderName, {
                     attributes: attribs,
                     uniformsNames: uniforms,
                     uniformBuffersNames: uniformBuffers,
@@ -44068,8 +44074,19 @@ var BABYLON;
                     onCompiled: this.onCompiled,
                     onError: this.onError,
                     indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS }
-                }, engine), defines);
-                this.buildUniformLayout();
+                }, engine);
+                if (effect) {
+                    // Use previous effect while new one is compiling
+                    if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {
+                        effect = previousEffect;
+                        defines.markAsUnprocessed();
+                    }
+                    else {
+                        scene.resetCachedMaterial();
+                        subMesh.setEffect(effect, defines);
+                        this.buildUniformLayout();
+                    }
+                }
             }
             if (!subMesh.effect || !subMesh.effect.isReady()) {
                 return false;
@@ -46013,11 +46030,19 @@ var BABYLON;
                 mesh.createNormals(true);
                 BABYLON.Tools.Warn("PBRMaterial: Normals have been created for the mesh: " + mesh.name);
             }
+            var previousEffect = subMesh.effect;
             var effect = this._prepareEffect(mesh, defines, this.onCompiled, this.onError, useInstances);
             if (effect) {
-                scene.resetCachedMaterial();
-                subMesh.setEffect(effect, defines);
-                this.buildUniformLayout();
+                // Use previous effect while new one is compiling
+                if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {
+                    effect = previousEffect;
+                    defines.markAsUnprocessed();
+                }
+                else {
+                    scene.resetCachedMaterial();
+                    subMesh.setEffect(effect, defines);
+                    this.buildUniformLayout();
+                }
             }
             if (!subMesh.effect || !subMesh.effect.isReady()) {
                 return false;

+ 35 - 10
dist/preview release/babylon.no-module.max.js

@@ -5424,10 +5424,10 @@ var BABYLON;
          * @return the angle between vector0 and vector1
          */
         Vector3.GetAngleBetweenVectors = function (vector0, vector1, normal) {
-            var v0 = vector0.normalizeToRef(MathTmp.Vector3[0]);
-            var v1 = vector1.normalizeToRef(MathTmp.Vector3[1]);
+            var v0 = vector0.normalizeToRef(MathTmp.Vector3[1]);
+            var v1 = vector1.normalizeToRef(MathTmp.Vector3[2]);
             var dot = Vector3.Dot(v0, v1);
-            var n = MathTmp.Vector3[2];
+            var n = MathTmp.Vector3[3];
             Vector3.CrossToRef(v0, v1, n);
             if (Vector3.Dot(n, normal) > 0) {
                 return Math.acos(dot);
@@ -43185,6 +43185,12 @@ var BABYLON;
         function PushMaterial(name, scene) {
             var _this = _super.call(this, name, scene) || this;
             _this._normalMatrix = new BABYLON.Matrix();
+            /**
+             * Gets or sets a boolean indicating that the material is allowed to do shader hot swapping.
+             * This means that the material can keep using a previous shader while a new one is being compiled.
+             * This is mostly used when shader parallel compilation is supported (true by default)
+             */
+            _this.allowShaderHotSwapping = true;
             _this.storeEffectOnSubMeshes = true;
             return _this;
         }
@@ -43932,7 +43938,6 @@ var BABYLON;
             // Get correct effect
             if (defines.isDirty) {
                 defines.markAsProcessed();
-                scene.resetCachedMaterial();
                 // Fallbacks
                 var fallbacks = new BABYLON.EffectFallbacks();
                 if (defines.REFLECTION) {
@@ -44025,7 +44030,8 @@ var BABYLON;
                     shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines);
                 }
                 var join = defines.toString();
-                subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
+                var previousEffect = subMesh.effect;
+                var effect = scene.getEngine().createEffect(shaderName, {
                     attributes: attribs,
                     uniformsNames: uniforms,
                     uniformBuffersNames: uniformBuffers,
@@ -44035,8 +44041,19 @@ var BABYLON;
                     onCompiled: this.onCompiled,
                     onError: this.onError,
                     indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS }
-                }, engine), defines);
-                this.buildUniformLayout();
+                }, engine);
+                if (effect) {
+                    // Use previous effect while new one is compiling
+                    if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {
+                        effect = previousEffect;
+                        defines.markAsUnprocessed();
+                    }
+                    else {
+                        scene.resetCachedMaterial();
+                        subMesh.setEffect(effect, defines);
+                        this.buildUniformLayout();
+                    }
+                }
             }
             if (!subMesh.effect || !subMesh.effect.isReady()) {
                 return false;
@@ -45980,11 +45997,19 @@ var BABYLON;
                 mesh.createNormals(true);
                 BABYLON.Tools.Warn("PBRMaterial: Normals have been created for the mesh: " + mesh.name);
             }
+            var previousEffect = subMesh.effect;
             var effect = this._prepareEffect(mesh, defines, this.onCompiled, this.onError, useInstances);
             if (effect) {
-                scene.resetCachedMaterial();
-                subMesh.setEffect(effect, defines);
-                this.buildUniformLayout();
+                // Use previous effect while new one is compiling
+                if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {
+                    effect = previousEffect;
+                    defines.markAsUnprocessed();
+                }
+                else {
+                    scene.resetCachedMaterial();
+                    subMesh.setEffect(effect, defines);
+                    this.buildUniformLayout();
+                }
             }
             if (!subMesh.effect || !subMesh.effect.isReady()) {
                 return false;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/babylon.worker.js


+ 35 - 10
dist/preview release/es6.js

@@ -5424,10 +5424,10 @@ var BABYLON;
          * @return the angle between vector0 and vector1
          */
         Vector3.GetAngleBetweenVectors = function (vector0, vector1, normal) {
-            var v0 = vector0.normalizeToRef(MathTmp.Vector3[0]);
-            var v1 = vector1.normalizeToRef(MathTmp.Vector3[1]);
+            var v0 = vector0.normalizeToRef(MathTmp.Vector3[1]);
+            var v1 = vector1.normalizeToRef(MathTmp.Vector3[2]);
             var dot = Vector3.Dot(v0, v1);
-            var n = MathTmp.Vector3[2];
+            var n = MathTmp.Vector3[3];
             Vector3.CrossToRef(v0, v1, n);
             if (Vector3.Dot(n, normal) > 0) {
                 return Math.acos(dot);
@@ -43185,6 +43185,12 @@ var BABYLON;
         function PushMaterial(name, scene) {
             var _this = _super.call(this, name, scene) || this;
             _this._normalMatrix = new BABYLON.Matrix();
+            /**
+             * Gets or sets a boolean indicating that the material is allowed to do shader hot swapping.
+             * This means that the material can keep using a previous shader while a new one is being compiled.
+             * This is mostly used when shader parallel compilation is supported (true by default)
+             */
+            _this.allowShaderHotSwapping = true;
             _this.storeEffectOnSubMeshes = true;
             return _this;
         }
@@ -43932,7 +43938,6 @@ var BABYLON;
             // Get correct effect
             if (defines.isDirty) {
                 defines.markAsProcessed();
-                scene.resetCachedMaterial();
                 // Fallbacks
                 var fallbacks = new BABYLON.EffectFallbacks();
                 if (defines.REFLECTION) {
@@ -44025,7 +44030,8 @@ var BABYLON;
                     shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines);
                 }
                 var join = defines.toString();
-                subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
+                var previousEffect = subMesh.effect;
+                var effect = scene.getEngine().createEffect(shaderName, {
                     attributes: attribs,
                     uniformsNames: uniforms,
                     uniformBuffersNames: uniformBuffers,
@@ -44035,8 +44041,19 @@ var BABYLON;
                     onCompiled: this.onCompiled,
                     onError: this.onError,
                     indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS }
-                }, engine), defines);
-                this.buildUniformLayout();
+                }, engine);
+                if (effect) {
+                    // Use previous effect while new one is compiling
+                    if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {
+                        effect = previousEffect;
+                        defines.markAsUnprocessed();
+                    }
+                    else {
+                        scene.resetCachedMaterial();
+                        subMesh.setEffect(effect, defines);
+                        this.buildUniformLayout();
+                    }
+                }
             }
             if (!subMesh.effect || !subMesh.effect.isReady()) {
                 return false;
@@ -45980,11 +45997,19 @@ var BABYLON;
                 mesh.createNormals(true);
                 BABYLON.Tools.Warn("PBRMaterial: Normals have been created for the mesh: " + mesh.name);
             }
+            var previousEffect = subMesh.effect;
             var effect = this._prepareEffect(mesh, defines, this.onCompiled, this.onError, useInstances);
             if (effect) {
-                scene.resetCachedMaterial();
-                subMesh.setEffect(effect, defines);
-                this.buildUniformLayout();
+                // Use previous effect while new one is compiling
+                if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {
+                    effect = previousEffect;
+                    defines.markAsUnprocessed();
+                }
+                else {
+                    scene.resetCachedMaterial();
+                    subMesh.setEffect(effect, defines);
+                    this.buildUniformLayout();
+                }
             }
             if (!subMesh.effect || !subMesh.effect.isReady()) {
                 return false;

+ 0 - 459
dist/preview release/viewer/babylon.viewer.d.ts

@@ -1728,465 +1728,6 @@ declare module BabylonViewer {
     }
 }
 declare module BabylonViewer {
-    export interface ICameraConfiguration {
-        position?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        rotation?: {
-            x: number;
-            y: number;
-            z: number;
-            w: number;
-        };
-        fov?: number;
-        fovMode?: number;
-        minZ?: number;
-        maxZ?: number;
-        inertia?: number;
-        exposure?: number;
-        pinchPrecision?: number;
-        behaviors?: {
-            [name: string]: boolean | number | ICameraBehaviorConfiguration;
-        };
-        disableCameraControl?: boolean;
-        disableCtrlForPanning?: boolean;
-        disableAutoFocus?: boolean;
-        [propName: string]: any;
-    }
-    export interface ICameraBehaviorConfiguration {
-        type: number;
-        [propName: string]: any;
-    }
-}
-declare module BabylonViewer {
-    /**
-        * The Color Grading Configuration groups the different settings used to define the color grading used in the viewer.
-        */
-    export interface IColorGradingConfiguration {
-            /**
-                * Transform data string, encoded as determined by transformDataFormat.
-                */
-            transformData: string;
-            /**
-                * The encoding format of TransformData (currently only raw-base16 is supported).
-                */
-            transformDataFormat: string;
-            /**
-                * The weight of the transform
-                */
-            transformWeight: number;
-            /**
-                * Color curve colorFilterHueGlobal value
-                */
-            colorFilterHueGlobal: number;
-            /**
-                * Color curve colorFilterHueShadows value
-                */
-            colorFilterHueShadows: number;
-            /**
-                * Color curve colorFilterHueMidtones value
-                */
-            colorFilterHueMidtones: number;
-            /**
-                * Color curve colorFilterHueHighlights value
-                */
-            colorFilterHueHighlights: number;
-            /**
-                * Color curve colorFilterDensityGlobal value
-                */
-            colorFilterDensityGlobal: number;
-            /**
-                * Color curve colorFilterDensityShadows value
-                */
-            colorFilterDensityShadows: number;
-            /**
-                * Color curve colorFilterDensityMidtones value
-                */
-            colorFilterDensityMidtones: number;
-            /**
-                * Color curve colorFilterDensityHighlights value
-                */
-            colorFilterDensityHighlights: number;
-            /**
-                * Color curve saturationGlobal value
-                */
-            saturationGlobal: number;
-            /**
-                * Color curve saturationShadows value
-                */
-            saturationShadows: number;
-            /**
-                * Color curve saturationMidtones value
-                */
-            saturationMidtones: number;
-            /**
-                * Color curve saturationHighlights value
-                */
-            saturationHighlights: number;
-            /**
-                * Color curve exposureGlobal value
-                */
-            exposureGlobal: number;
-            /**
-                * Color curve exposureShadows value
-                */
-            exposureShadows: number;
-            /**
-                * Color curve exposureMidtones value
-                */
-            exposureMidtones: number;
-            /**
-                * Color curve exposureHighlights value
-                */
-            exposureHighlights: number;
-    }
-}
-declare module BabylonViewer {
-    export interface IDefaultRenderingPipelineConfiguration {
-        sharpenEnabled?: boolean;
-        bloomEnabled?: boolean;
-        bloomThreshold?: number;
-        depthOfFieldEnabled?: boolean;
-        depthOfFieldBlurLevel?: BABYLON.DepthOfFieldEffectBlurLevel;
-        fxaaEnabled?: boolean;
-        imageProcessingEnabled?: boolean;
-        defaultPipelineTextureType?: number;
-        bloomScale?: number;
-        chromaticAberrationEnabled?: boolean;
-        grainEnabled?: boolean;
-        bloomKernel?: number;
-        hardwareScaleLevel?: number;
-        bloomWeight?: number;
-        hdr?: boolean;
-        samples?: number;
-        glowLayerEnabled?: boolean;
-    }
-}
-declare module BabylonViewer {
-    export interface IGroundConfiguration {
-        size?: number;
-        receiveShadows?: boolean;
-        shadowLevel?: number;
-        shadowOnly?: boolean;
-        mirror?: boolean | {
-            sizeRatio?: number;
-            blurKernel?: number;
-            amount?: number;
-            fresnelWeight?: number;
-            fallOffDistance?: number;
-            textureType?: number;
-        };
-        texture?: string;
-        color?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        opacity?: number;
-        material?: {
-            [propName: string]: any;
-        };
-    }
-}
-declare module BabylonViewer {
-    export interface IImageProcessingConfiguration {
-        colorGradingEnabled?: boolean;
-        colorCurvesEnabled?: boolean;
-        colorCurves?: {
-            globalHue?: number;
-            globalDensity?: number;
-            globalSaturation?: number;
-            globalExposure?: number;
-            highlightsHue?: number;
-            highlightsDensity?: number;
-            highlightsSaturation?: number;
-            highlightsExposure?: number;
-            midtonesHue?: number;
-            midtonesDensity?: number;
-            midtonesSaturation?: number;
-            midtonesExposure?: number;
-            shadowsHue?: number;
-            shadowsDensity?: number;
-            shadowsSaturation?: number;
-            shadowsExposure?: number;
-        };
-        colorGradingWithGreenDepth?: boolean;
-        colorGradingBGR?: boolean;
-        exposure?: number;
-        toneMappingEnabled?: boolean;
-        contrast?: number;
-        vignetteEnabled?: boolean;
-        vignetteStretch?: number;
-        vignetteCentreX?: number;
-        vignetteCentreY?: number;
-        vignetteWeight?: number;
-        vignetteColor?: {
-            r: number;
-            g: number;
-            b: number;
-            a?: number;
-        };
-        vignetteCameraFov?: number;
-        vignetteBlendMode?: number;
-        vignetteM?: boolean;
-        applyByPostProcess?: boolean;
-        isEnabled?: boolean;
-    }
-}
-declare module BabylonViewer {
-    export interface ILightConfiguration {
-        type: number;
-        name?: string;
-        disabled?: boolean;
-        position?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        target?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        direction?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        diffuse?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        specular?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        intensity?: number;
-        intensityMode?: number;
-        radius?: number;
-        shadownEnabled?: boolean;
-        shadowConfig?: {
-            useBlurExponentialShadowMap?: boolean;
-            useBlurCloseExponentialShadowMap?: boolean;
-            useKernelBlur?: boolean;
-            blurKernel?: number;
-            blurScale?: number;
-            minZ?: number;
-            maxZ?: number;
-            frustumSize?: number;
-            angleScale?: number;
-            frustumEdgeFalloff?: number;
-            [propName: string]: any;
-        };
-        spotAngle?: number;
-        shadowFieldOfView?: number;
-        shadowBufferSize?: number;
-        shadowFrustumSize?: number;
-        shadowMinZ?: number;
-        shadowMaxZ?: number;
-        [propName: string]: any;
-        behaviors?: {
-            [name: string]: number | {
-                type: number;
-                [propName: string]: any;
-            };
-        };
-    }
-}
-declare module BabylonViewer {
-    export interface IObserversConfiguration {
-        onEngineInit?: string;
-        onSceneInit?: string;
-        onModelLoaded?: string;
-    }
-}
-declare module BabylonViewer {
-    export interface ISceneConfiguration {
-            debug?: boolean;
-            clearColor?: {
-                    r: number;
-                    g: number;
-                    b: number;
-                    a: number;
-            };
-            /** Deprecated, use environmentMap.mainColor instead. */
-            mainColor?: {
-                    r?: number;
-                    g?: number;
-                    b?: number;
-            };
-            imageProcessingConfiguration?: IImageProcessingConfiguration;
-            environmentTexture?: string;
-            colorGrading?: IColorGradingConfiguration;
-            environmentRotationY?: number;
-            /**
-                * Deprecated, please use default rendering pipeline
-                */
-            glow?: boolean | BABYLON.IGlowLayerOptions;
-            disableHdr?: boolean;
-            renderInBackground?: boolean;
-            disableCameraControl?: boolean;
-            animationPropertiesOverride?: {
-                    [propName: string]: any;
-            };
-            defaultMaterial?: {
-                    materialType: "standard" | "pbr";
-                    [propName: string]: any;
-            };
-            flags?: {
-                    shadowsEnabled?: boolean;
-                    particlesEnabled?: boolean;
-                    collisionsEnabled?: boolean;
-                    lightsEnabled?: boolean;
-                    texturesEnabled?: boolean;
-                    lensFlaresEnabled?: boolean;
-                    proceduralTexturesEnabled?: boolean;
-                    renderTargetsEnabled?: boolean;
-                    spritesEnabled?: boolean;
-                    skeletonsEnabled?: boolean;
-                    audioEnabled?: boolean;
-            };
-            assetsRootURL?: string;
-    }
-}
-declare module BabylonViewer {
-    export interface ISceneOptimizerConfiguration {
-        targetFrameRate?: number;
-        trackerDuration?: number;
-        autoGeneratePriorities?: boolean;
-        improvementMode?: boolean;
-        degradation?: string;
-        types?: {
-            texture?: ISceneOptimizerParameters;
-            hardwareScaling?: ISceneOptimizerParameters;
-            shadow?: ISceneOptimizerParameters;
-            postProcess?: ISceneOptimizerParameters;
-            lensFlare?: ISceneOptimizerParameters;
-            particles?: ISceneOptimizerParameters;
-            renderTarget?: ISceneOptimizerParameters;
-            mergeMeshes?: ISceneOptimizerParameters;
-        };
-        custom?: string;
-    }
-    export interface ISceneOptimizerParameters {
-        priority?: number;
-        maximumSize?: number;
-        step?: number;
-    }
-}
-declare module BabylonViewer {
-    export interface ISkyboxConfiguration {
-        cubeTexture?: {
-            noMipMap?: boolean;
-            gammaSpace?: boolean;
-            url?: string | Array<string>;
-        };
-        color?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        pbr?: boolean;
-        scale?: number;
-        blur?: number;
-        material?: {
-            imageProcessingConfiguration?: IImageProcessingConfiguration;
-            [propName: string]: any;
-        };
-        infiniteDistance?: boolean;
-    }
-}
-declare module BabylonViewer {
-    /**
-        * A single template configuration object
-        */
-    export interface ITemplateConfiguration {
-            /**
-                * can be either the id of the template's html element or a URL.
-                * See - http://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
-                */
-            location?: string;
-            /**
-                * If no location is provided you can provide here the raw html of this template.
-                * See http://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
-                */
-            html?: string;
-            id?: string;
-            /**
-                * Parameters that will be delivered to the template and will render it accordingly.
-                */
-            params?: {
-                    [key: string]: string | number | boolean | object;
-            };
-            /**
-                * Events to attach to this template.
-                * event name is the key. the value can either be a boolean (attach to the parent element)
-                * or a map of html id elements.
-                *
-                * See - http://doc.babylonjs.com/extensions/the_templating_system#event-binding
-                */
-            events?: {
-                    pointerdown?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerup?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointermove?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerover?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerout?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerenter?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerleave?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointercancel?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    click?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    dragstart?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    drop?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    [key: string]: boolean | {
-                            [id: string]: boolean;
-                    } | undefined;
-            };
-    }
-}
-declare module BabylonViewer {
-    export interface IVRConfiguration {
-        disabled?: boolean;
-        objectScaleFactor?: number;
-        disableInteractions?: boolean;
-        disableTeleportation?: boolean;
-        overrideFloorMeshName?: string;
-        vrOptions?: BABYLON.VRExperienceHelperOptions;
-        modelHeightCorrection?: number | boolean;
-        rotateUsingControllers?: boolean;
-        cameraPosition?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-    }
-}
-declare module BabylonViewer {
     /**
         * Spherical polynomial coefficients (counter part to spherical harmonic coefficients used in shader irradiance calculation)
         * @ignoreChildren

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/viewer/babylon.viewer.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 1 - 492
dist/preview release/viewer/babylon.viewer.module.d.ts

@@ -1663,21 +1663,7 @@ declare module 'babylonjs-viewer/loader/plugins' {
 }
 
 declare module 'babylonjs-viewer/configuration/interfaces' {
-    export * from 'babylonjs-viewer/configuration/interfaces/cameraConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/colorGradingConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/defaultRenderingPipelineConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/groundConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/imageProcessingConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/lightConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/modelAnimationConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/modelConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/observersConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/sceneConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/sceneOptimizerConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/skyboxConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/templateConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/vrConfiguration';
-    export * from 'babylonjs-viewer/configuration/interfaces/environmentMapConfiguration';
+    
 }
 
 declare module 'babylonjs-viewer/configuration/interfaces/environmentMapConfiguration' {
@@ -1871,483 +1857,6 @@ declare module 'babylonjs-viewer/loader/plugins/extendedMaterialLoaderPlugin' {
     }
 }
 
-declare module 'babylonjs-viewer/configuration/interfaces/cameraConfiguration' {
-    export interface ICameraConfiguration {
-        position?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        rotation?: {
-            x: number;
-            y: number;
-            z: number;
-            w: number;
-        };
-        fov?: number;
-        fovMode?: number;
-        minZ?: number;
-        maxZ?: number;
-        inertia?: number;
-        exposure?: number;
-        pinchPrecision?: number;
-        behaviors?: {
-            [name: string]: boolean | number | ICameraBehaviorConfiguration;
-        };
-        disableCameraControl?: boolean;
-        disableCtrlForPanning?: boolean;
-        disableAutoFocus?: boolean;
-        [propName: string]: any;
-    }
-    export interface ICameraBehaviorConfiguration {
-        type: number;
-        [propName: string]: any;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/colorGradingConfiguration' {
-    /**
-        * The Color Grading Configuration groups the different settings used to define the color grading used in the viewer.
-        */
-    export interface IColorGradingConfiguration {
-            /**
-                * Transform data string, encoded as determined by transformDataFormat.
-                */
-            transformData: string;
-            /**
-                * The encoding format of TransformData (currently only raw-base16 is supported).
-                */
-            transformDataFormat: string;
-            /**
-                * The weight of the transform
-                */
-            transformWeight: number;
-            /**
-                * Color curve colorFilterHueGlobal value
-                */
-            colorFilterHueGlobal: number;
-            /**
-                * Color curve colorFilterHueShadows value
-                */
-            colorFilterHueShadows: number;
-            /**
-                * Color curve colorFilterHueMidtones value
-                */
-            colorFilterHueMidtones: number;
-            /**
-                * Color curve colorFilterHueHighlights value
-                */
-            colorFilterHueHighlights: number;
-            /**
-                * Color curve colorFilterDensityGlobal value
-                */
-            colorFilterDensityGlobal: number;
-            /**
-                * Color curve colorFilterDensityShadows value
-                */
-            colorFilterDensityShadows: number;
-            /**
-                * Color curve colorFilterDensityMidtones value
-                */
-            colorFilterDensityMidtones: number;
-            /**
-                * Color curve colorFilterDensityHighlights value
-                */
-            colorFilterDensityHighlights: number;
-            /**
-                * Color curve saturationGlobal value
-                */
-            saturationGlobal: number;
-            /**
-                * Color curve saturationShadows value
-                */
-            saturationShadows: number;
-            /**
-                * Color curve saturationMidtones value
-                */
-            saturationMidtones: number;
-            /**
-                * Color curve saturationHighlights value
-                */
-            saturationHighlights: number;
-            /**
-                * Color curve exposureGlobal value
-                */
-            exposureGlobal: number;
-            /**
-                * Color curve exposureShadows value
-                */
-            exposureShadows: number;
-            /**
-                * Color curve exposureMidtones value
-                */
-            exposureMidtones: number;
-            /**
-                * Color curve exposureHighlights value
-                */
-            exposureHighlights: number;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/defaultRenderingPipelineConfiguration' {
-    import { DepthOfFieldEffectBlurLevel } from 'babylonjs';
-    export interface IDefaultRenderingPipelineConfiguration {
-        sharpenEnabled?: boolean;
-        bloomEnabled?: boolean;
-        bloomThreshold?: number;
-        depthOfFieldEnabled?: boolean;
-        depthOfFieldBlurLevel?: DepthOfFieldEffectBlurLevel;
-        fxaaEnabled?: boolean;
-        imageProcessingEnabled?: boolean;
-        defaultPipelineTextureType?: number;
-        bloomScale?: number;
-        chromaticAberrationEnabled?: boolean;
-        grainEnabled?: boolean;
-        bloomKernel?: number;
-        hardwareScaleLevel?: number;
-        bloomWeight?: number;
-        hdr?: boolean;
-        samples?: number;
-        glowLayerEnabled?: boolean;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/groundConfiguration' {
-    export interface IGroundConfiguration {
-        size?: number;
-        receiveShadows?: boolean;
-        shadowLevel?: number;
-        shadowOnly?: boolean;
-        mirror?: boolean | {
-            sizeRatio?: number;
-            blurKernel?: number;
-            amount?: number;
-            fresnelWeight?: number;
-            fallOffDistance?: number;
-            textureType?: number;
-        };
-        texture?: string;
-        color?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        opacity?: number;
-        material?: {
-            [propName: string]: any;
-        };
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/imageProcessingConfiguration' {
-    export interface IImageProcessingConfiguration {
-        colorGradingEnabled?: boolean;
-        colorCurvesEnabled?: boolean;
-        colorCurves?: {
-            globalHue?: number;
-            globalDensity?: number;
-            globalSaturation?: number;
-            globalExposure?: number;
-            highlightsHue?: number;
-            highlightsDensity?: number;
-            highlightsSaturation?: number;
-            highlightsExposure?: number;
-            midtonesHue?: number;
-            midtonesDensity?: number;
-            midtonesSaturation?: number;
-            midtonesExposure?: number;
-            shadowsHue?: number;
-            shadowsDensity?: number;
-            shadowsSaturation?: number;
-            shadowsExposure?: number;
-        };
-        colorGradingWithGreenDepth?: boolean;
-        colorGradingBGR?: boolean;
-        exposure?: number;
-        toneMappingEnabled?: boolean;
-        contrast?: number;
-        vignetteEnabled?: boolean;
-        vignetteStretch?: number;
-        vignetteCentreX?: number;
-        vignetteCentreY?: number;
-        vignetteWeight?: number;
-        vignetteColor?: {
-            r: number;
-            g: number;
-            b: number;
-            a?: number;
-        };
-        vignetteCameraFov?: number;
-        vignetteBlendMode?: number;
-        vignetteM?: boolean;
-        applyByPostProcess?: boolean;
-        isEnabled?: boolean;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/lightConfiguration' {
-    export interface ILightConfiguration {
-        type: number;
-        name?: string;
-        disabled?: boolean;
-        position?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        target?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        direction?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-        diffuse?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        specular?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        intensity?: number;
-        intensityMode?: number;
-        radius?: number;
-        shadownEnabled?: boolean;
-        shadowConfig?: {
-            useBlurExponentialShadowMap?: boolean;
-            useBlurCloseExponentialShadowMap?: boolean;
-            useKernelBlur?: boolean;
-            blurKernel?: number;
-            blurScale?: number;
-            minZ?: number;
-            maxZ?: number;
-            frustumSize?: number;
-            angleScale?: number;
-            frustumEdgeFalloff?: number;
-            [propName: string]: any;
-        };
-        spotAngle?: number;
-        shadowFieldOfView?: number;
-        shadowBufferSize?: number;
-        shadowFrustumSize?: number;
-        shadowMinZ?: number;
-        shadowMaxZ?: number;
-        [propName: string]: any;
-        behaviors?: {
-            [name: string]: number | {
-                type: number;
-                [propName: string]: any;
-            };
-        };
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/observersConfiguration' {
-    export interface IObserversConfiguration {
-        onEngineInit?: string;
-        onSceneInit?: string;
-        onModelLoaded?: string;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/sceneConfiguration' {
-    import { IImageProcessingConfiguration } from "babylonjs-viewer/configuration/interfaces/imageProcessingConfiguration";
-    import { IColorGradingConfiguration } from "babylonjs-viewer/configuration/interfaces/colorGradingConfiguration";
-    import { IGlowLayerOptions } from "babylonjs";
-    export interface ISceneConfiguration {
-            debug?: boolean;
-            clearColor?: {
-                    r: number;
-                    g: number;
-                    b: number;
-                    a: number;
-            };
-            /** Deprecated, use environmentMap.mainColor instead. */
-            mainColor?: {
-                    r?: number;
-                    g?: number;
-                    b?: number;
-            };
-            imageProcessingConfiguration?: IImageProcessingConfiguration;
-            environmentTexture?: string;
-            colorGrading?: IColorGradingConfiguration;
-            environmentRotationY?: number;
-            /**
-                * Deprecated, please use default rendering pipeline
-                */
-            glow?: boolean | IGlowLayerOptions;
-            disableHdr?: boolean;
-            renderInBackground?: boolean;
-            disableCameraControl?: boolean;
-            animationPropertiesOverride?: {
-                    [propName: string]: any;
-            };
-            defaultMaterial?: {
-                    materialType: "standard" | "pbr";
-                    [propName: string]: any;
-            };
-            flags?: {
-                    shadowsEnabled?: boolean;
-                    particlesEnabled?: boolean;
-                    collisionsEnabled?: boolean;
-                    lightsEnabled?: boolean;
-                    texturesEnabled?: boolean;
-                    lensFlaresEnabled?: boolean;
-                    proceduralTexturesEnabled?: boolean;
-                    renderTargetsEnabled?: boolean;
-                    spritesEnabled?: boolean;
-                    skeletonsEnabled?: boolean;
-                    audioEnabled?: boolean;
-            };
-            assetsRootURL?: string;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/sceneOptimizerConfiguration' {
-    export interface ISceneOptimizerConfiguration {
-        targetFrameRate?: number;
-        trackerDuration?: number;
-        autoGeneratePriorities?: boolean;
-        improvementMode?: boolean;
-        degradation?: string;
-        types?: {
-            texture?: ISceneOptimizerParameters;
-            hardwareScaling?: ISceneOptimizerParameters;
-            shadow?: ISceneOptimizerParameters;
-            postProcess?: ISceneOptimizerParameters;
-            lensFlare?: ISceneOptimizerParameters;
-            particles?: ISceneOptimizerParameters;
-            renderTarget?: ISceneOptimizerParameters;
-            mergeMeshes?: ISceneOptimizerParameters;
-        };
-        custom?: string;
-    }
-    export interface ISceneOptimizerParameters {
-        priority?: number;
-        maximumSize?: number;
-        step?: number;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/skyboxConfiguration' {
-    import { IImageProcessingConfiguration } from "babylonjs-viewer/configuration/interfaces/imageProcessingConfiguration";
-    export interface ISkyboxConfiguration {
-        cubeTexture?: {
-            noMipMap?: boolean;
-            gammaSpace?: boolean;
-            url?: string | Array<string>;
-        };
-        color?: {
-            r: number;
-            g: number;
-            b: number;
-        };
-        pbr?: boolean;
-        scale?: number;
-        blur?: number;
-        material?: {
-            imageProcessingConfiguration?: IImageProcessingConfiguration;
-            [propName: string]: any;
-        };
-        infiniteDistance?: boolean;
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/templateConfiguration' {
-    /**
-        * A single template configuration object
-        */
-    export interface ITemplateConfiguration {
-            /**
-                * can be either the id of the template's html element or a URL.
-                * See - http://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
-                */
-            location?: string;
-            /**
-                * If no location is provided you can provide here the raw html of this template.
-                * See http://doc.babylonjs.com/extensions/the_templating_system#location-vs-html
-                */
-            html?: string;
-            id?: string;
-            /**
-                * Parameters that will be delivered to the template and will render it accordingly.
-                */
-            params?: {
-                    [key: string]: string | number | boolean | object;
-            };
-            /**
-                * Events to attach to this template.
-                * event name is the key. the value can either be a boolean (attach to the parent element)
-                * or a map of html id elements.
-                *
-                * See - http://doc.babylonjs.com/extensions/the_templating_system#event-binding
-                */
-            events?: {
-                    pointerdown?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerup?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointermove?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerover?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerout?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerenter?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointerleave?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    pointercancel?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    click?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    dragstart?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    drop?: boolean | {
-                            [id: string]: boolean;
-                    };
-                    [key: string]: boolean | {
-                            [id: string]: boolean;
-                    } | undefined;
-            };
-    }
-}
-
-declare module 'babylonjs-viewer/configuration/interfaces/vrConfiguration' {
-    import { VRExperienceHelperOptions } from "babylonjs";
-    export interface IVRConfiguration {
-        disabled?: boolean;
-        objectScaleFactor?: number;
-        disableInteractions?: boolean;
-        disableTeleportation?: boolean;
-        overrideFloorMeshName?: string;
-        vrOptions?: VRExperienceHelperOptions;
-        modelHeightCorrection?: number | boolean;
-        rotateUsingControllers?: boolean;
-        cameraPosition?: {
-            x: number;
-            y: number;
-            z: number;
-        };
-    }
-}
-
 declare module 'babylonjs-viewer/labs/environmentSerializer' {
     import { Vector3 } from "babylonjs";
     import { TextureCube } from 'babylonjs-viewer/labs/texture';

+ 1 - 1
src/Materials/babylon.pushMaterial.ts

@@ -10,7 +10,7 @@ module BABYLON {
         protected _normalMatrix: Matrix = new Matrix();
 
         /**
-         * Gets or sets a boolean indicating that the material is allowed to do shader hot swapping. 
+         * Gets or sets a boolean indicating that the material is allowed to do shader hot swapping.
          * This means that the material can keep using a previous shader while a new one is being compiled.
          * This is mostly used when shader parallel compilation is supported (true by default)
          */