瀏覽代碼

Updating Typescript for RenderPipeline
Fixing bugs

Michaël KORBAS 11 年之前
父節點
當前提交
79df77d491

+ 1 - 1
Babylon/Culling/babylon.boundingBox.js

@@ -156,4 +156,4 @@
     })();
     BABYLON.BoundingBox = BoundingBox;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.boundingBox.js.map
+//# sourceMappingURL=babylon.BoundingBox.js.map

+ 58 - 58
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js

@@ -2,7 +2,6 @@ var BABYLON;
 (function (BABYLON) {
     var PostProcessRenderEffect = (function () {
         function PostProcessRenderEffect(engine, name, postProcessType, ratio, samplingMode, singleInstance) {
-            this.name = name;
             this._engine = engine;
             this._name = name;
             this._postProcessType = postProcessType;
@@ -21,12 +20,12 @@ var BABYLON;
             this.parameters = function (effect) {
             };
         }
-        PostProcessRenderEffect.getInstance = function (engine, postProcessType, ratio, samplingMode) {
+        PostProcessRenderEffect._GetInstance = function (engine, postProcessType, ratio, samplingMode) {
             var postProcess;
             var instance;
-            var args = new Array();
+            var args = [];
 
-            var parameters = PostProcessRenderEffect.getParametersNames(postProcessType);
+            var parameters = PostProcessRenderEffect._GetParametersNames(postProcessType);
             for (var i = 0; i < parameters.length; i++) {
                 switch (parameters[i]) {
                     case "name":
@@ -63,7 +62,7 @@ var BABYLON;
             return instance;
         };
 
-        PostProcessRenderEffect.getParametersNames = function (func) {
+        PostProcessRenderEffect._GetParametersNames = function (func) {
             var commentsRegex = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
             var functWithoutComments = eval(func).toString().replace(commentsRegex, '');
 
@@ -81,26 +80,26 @@ var BABYLON;
         };
 
         PostProcessRenderEffect.prototype.addPass = function (renderPass) {
-            this._renderPasses[renderPass.name] = renderPass;
+            this._renderPasses[renderPass._name] = renderPass;
 
             this._linkParameters();
         };
 
         PostProcessRenderEffect.prototype.removePass = function (renderPass) {
-            delete this._renderPasses[renderPass.name];
+            delete this._renderPasses[renderPass._name];
 
             this._linkParameters();
         };
 
         PostProcessRenderEffect.prototype.addRenderEffectAsPass = function (renderEffect) {
-            this._renderEffectAsPasses[renderEffect.name] = renderEffect;
+            this._renderEffectAsPasses[renderEffect._name] = renderEffect;
 
             this._linkParameters();
         };
 
         PostProcessRenderEffect.prototype.getPass = function (passName) {
             for (var renderPassName in this._renderPasses) {
-                if (renderPassName == passName) {
+                if (renderPassName === passName) {
                     return this._renderPasses[passName];
                 }
             }
@@ -112,92 +111,93 @@ var BABYLON;
             this._linkParameters();
         };
 
-        PostProcessRenderEffect.prototype.attachCameras = function (cameras) {
-            var postProcess = null;
+        PostProcessRenderEffect.prototype._attachCameras = function (cameras) {
+            var cameraKey;
 
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
+
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.name;
 
-            for (var i = 0; i < cameras.length; i++) {
                 if (this._singleInstance) {
-                    postProcess = this._postProcesses[0] || PostProcessRenderEffect.getInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
-                    this._postProcesses[0] = postProcess;
+                    cameraKey = 0;
                 } else {
-                    postProcess = this._postProcesses[cameras[i].name] || PostProcessRenderEffect.getInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
-                    this._postProcesses[cameras[i].name] = postProcess;
+                    cameraKey = cameraName;
                 }
-                var index = cameras[i].attachPostProcess(postProcess);
 
-                if (this._indicesForCamera[cameras[i].name] == null) {
-                    this._indicesForCamera[cameras[i].name] = [];
+                this._postProcesses[cameraKey] = this._postProcesses[cameraKey] || PostProcessRenderEffect._GetInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
+
+                var index = camera.attachPostProcess(this._postProcesses[cameraKey]);
+
+                if (this._indicesForCamera[cameraName] == null) {
+                    this._indicesForCamera[cameraName] = [];
                 }
 
-                this._indicesForCamera[cameras[i].name].push(index);
+                this._indicesForCamera[cameraName].push(index);
 
-                if (this._cameras.indexOf(cameras[i]) == -1) {
-                    this._cameras[cameras[i].name] = cameras[i];
+                if (this._cameras.indexOf(camera) == -1) {
+                    this._cameras[cameraName] = camera;
                 }
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].incRefCount();
+                    this._renderPasses[passName]._incRefCount();
                 }
             }
 
             this._linkParameters();
         };
 
-        PostProcessRenderEffect.prototype.detachCameras = function (cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+        PostProcessRenderEffect.prototype._detachCameras = function (cameras) {
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
-            for (var i = 0; i < cameras.length; i++) {
-                if (this._singleInstance) {
-                    cameras[i].detachPostProcess(this._postProcesses[0], this._indicesForCamera[cameras[i].name]);
-                } else {
-                    cameras[i].detachPostProcess(this._postProcesses[cameras[i].name], this._indicesForCamera[cameras[i].name]);
-                }
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.Name;
+
+                camera.detachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName]);
 
-                var index = this._cameras.indexOf(cameras[i].name);
+                var index = this._cameras.indexOf(cameraName);
 
                 this._indicesForCamera.splice(index, 1);
                 this._cameras.splice(index, 1);
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].decRefCount();
+                    this._renderPasses[passName]._decRefCount();
                 }
             }
         };
 
-        PostProcessRenderEffect.prototype.enable = function (cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
-
-            for (var i = 0; i < cameras.length; i++) {
-                for (var j = 0; j < this._indicesForCamera[cameras[i].name].length; j++) {
-                    if (cameras[i]._postProcesses[this._indicesForCamera[cameras[i].name][j]] === undefined) {
-                        if (this._singleInstance) {
-                            cameras[i].attachPostProcess(this._postProcesses[0], this._indicesForCamera[cameras[i].name][j]);
-                        } else {
-                            cameras[i].attachPostProcess(this._postProcesses[cameras[i].name], this._indicesForCamera[cameras[i].name][j]);
-                        }
+        PostProcessRenderEffect.prototype._enable = function (cameras) {
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
+
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.Name;
+
+                for (var j = 0; j < this._indicesForCamera[cameraName].length; j++) {
+                    if (camera._postProcesses[this._indicesForCamera[cameraName][j]] === undefined) {
+                        cameras[i].attachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName][j]);
                     }
                 }
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].incRefCount();
+                    this._renderPasses[passName]._incRefCount();
                 }
             }
         };
 
-        PostProcessRenderEffect.prototype.disable = function (cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+        PostProcessRenderEffect.prototype._disable = function (cameras) {
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
-            for (var i = 0; i < cameras.length; i++) {
-                if (this._singleInstance) {
-                    cameras[i].detachPostProcess(this._postProcesses[0], this._indicesForCamera[cameras[i].name]);
-                } else {
-                    cameras[i].detachPostProcess(this._postProcesses[cameras[i].name], this._indicesForCamera[cameras[i].name]);
-                }
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.Name;
+
+                camera.detachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName]);
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].decRefCount();
+                    this._renderPasses[passName]._decRefCount();
                 }
             }
         };
@@ -207,11 +207,11 @@ var BABYLON;
         };
 
         PostProcessRenderEffect.prototype._linkParameters = function () {
-            var that = this;
+            var _this = this;
             for (var index in this._postProcesses) {
                 this._postProcesses[index].onApply = function (effect) {
-                    that.parameters(effect);
-                    that._linkTextures(effect);
+                    _this.parameters(effect);
+                    _this._linkTextures(effect);
                 };
             }
         };

+ 78 - 70
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.ts

@@ -1,27 +1,26 @@
 module BABYLON {
     export class PostProcessRenderEffect {
         private _engine: Engine;
-        private _name: string;
 
         private _postProcesses: PostProcess[];
-        private _postProcessType;
+        private _postProcessType; //The type must inherit from PostProcess (example: BABYLON.BlackAndWhitePostProcess, like this without quotes).
 
         private _ratio: number;
         private _samplingMode: number;
         private _singleInstance: boolean;
 
         private _cameras: Camera[];
-        private _indicesForCamera: number[];
+        private _indicesForCamera: number[][];
 
         private _renderPasses: PostProcessRenderPass[];
         private _renderEffectAsPasses: PostProcessRenderEffect[];
 
-        public name: string;
-        public parameters: (effect) => void;
+        // private
+        public _name: string;
 
+        public parameters: (effect: Effect) => void;
 
-        constructor(engine: Engine, name: string, postProcessType, ratio: number, samplingMode: number, singleInstance: boolean) {
-            this.name = name;
+        constructor(engine: Engine, name: string, postProcessType, ratio?: number, samplingMode?: number, singleInstance?: boolean) {
             this._engine = engine;
             this._name = name;
             this._postProcessType = postProcessType;
@@ -37,15 +36,15 @@ module BABYLON {
             this._renderPasses = [];
             this._renderEffectAsPasses = [];
 
-            this.parameters = function (effect) { };
+            this.parameters = (effect: Effect) => { };
         }
 
-        public static getInstance(engine: Engine, postProcessType, ratio: number, samplingMode: number): PostProcess {
+        private static _GetInstance(engine: Engine, postProcessType, ratio: number, samplingMode: number): PostProcess {
             var postProcess;
             var instance;
-            var args = new Array();
+            var args = [];
 
-            var parameters = PostProcessRenderEffect.getParametersNames(postProcessType);
+            var parameters = PostProcessRenderEffect._GetParametersNames(postProcessType);
             for (var i = 0; i < parameters.length; i++) {
                 switch (parameters[i]) {
                     case "name":
@@ -81,9 +80,9 @@ module BABYLON {
             return instance;
         }
 
-        public static getParametersNames(func): string[] {
+        private static _GetParametersNames(func): string[] {
             var commentsRegex = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
-            var functWithoutComments = eval(func).toString().replace(commentsRegex, '');
+            var functWithoutComments = eval(func).toString().replace(commentsRegex, ''); //TODO: delete eval
 
             var parameters = functWithoutComments.slice(functWithoutComments.indexOf('(') + 1, functWithoutComments.indexOf(')')).match(/([^\s,]+)/g);
 
@@ -99,26 +98,26 @@ module BABYLON {
         }
 
         public addPass(renderPass: PostProcessRenderPass): void {
-            this._renderPasses[renderPass.name] = renderPass;
+            this._renderPasses[renderPass._name] = renderPass;
 
             this._linkParameters();
         }
 
         public removePass(renderPass: PostProcessRenderPass): void {
-            delete this._renderPasses[renderPass.name];
+            delete this._renderPasses[renderPass._name];
 
             this._linkParameters();
         }
 
         public addRenderEffectAsPass(renderEffect: PostProcessRenderEffect): void {
-            this._renderEffectAsPasses[renderEffect.name] = renderEffect;
+            this._renderEffectAsPasses[renderEffect._name] = renderEffect;
 
             this._linkParameters();
         }
 
         public getPass(passName: string): void {
             for (var renderPassName in this._renderPasses) {
-                if (renderPassName == passName) {
+                if (renderPassName === passName) {
                     return this._renderPasses[passName];
                 }
             }
@@ -130,110 +129,119 @@ module BABYLON {
             this._linkParameters();
         }
 
-        public attachCameras(cameras: Camera[]): void {
-            var postProcess = null;
+        // private
+        public _attachCameras(cameras: Camera);
+        public _attachCameras(cameras: Camera[]);
+        public _attachCameras(cameras: any): void {
+            var cameraKey;
 
-            cameras = Tools.MakeArray(cameras || this._cameras);
+            var _cam = Tools.MakeArray(cameras || this._cameras);
+
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.name;
 
-            for (var i = 0; i < cameras.length; i++) {
                 if (this._singleInstance) {
-                    postProcess = this._postProcesses[0] || PostProcessRenderEffect.getInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
-                    this._postProcesses[0] = postProcess;
+                    cameraKey = 0;
                 }
                 else {
-                    postProcess = this._postProcesses[cameras[i].name] || PostProcessRenderEffect.getInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
-                    this._postProcesses[cameras[i].name] = postProcess;
+                    cameraKey = cameraName;
                 }
-                var index = cameras[i].attachPostProcess(postProcess);
 
-                if (this._indicesForCamera[cameras[i].name] == null) {
-                    this._indicesForCamera[cameras[i].name] = [];
+                this._postProcesses[cameraKey] = this._postProcesses[cameraKey] || PostProcessRenderEffect._GetInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
+
+                var index = camera.attachPostProcess(this._postProcesses[cameraKey]);
+
+                if (this._indicesForCamera[cameraName] == null) {
+                    this._indicesForCamera[cameraName] = [];
                 }
 
-                this._indicesForCamera[cameras[i].name].push(index);
+                this._indicesForCamera[cameraName].push(index);
 
-                if (this._cameras.indexOf(cameras[i]) == -1) {
-                    this._cameras[cameras[i].name] = cameras[i];
+                if (this._cameras.indexOf(camera) == -1) {
+                    this._cameras[cameraName] = camera;
                 }
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].incRefCount();
+                    this._renderPasses[passName]._incRefCount();
                 }
             }
 
             this._linkParameters();
         }
 
-        public detachCameras(cameras): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        // private
+        public _detachCameras(cameras: Camera);
+        public _detachCameras(cameras: Camera[]);
+        public _detachCameras(cameras: any): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
 
-            for (var i = 0; i < cameras.length; i++) {
-                if (this._singleInstance) {
-                    cameras[i].detachPostProcess(this._postProcesses[0], this._indicesForCamera[cameras[i].name]);
-                }
-                else {
-                    cameras[i].detachPostProcess(this._postProcesses[cameras[i].name], this._indicesForCamera[cameras[i].name]);
-                }
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.Name;
 
-                var index = this._cameras.indexOf(cameras[i].name);
+                camera.detachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName]);
+
+                var index = this._cameras.indexOf(cameraName);
 
                 this._indicesForCamera.splice(index, 1);
                 this._cameras.splice(index, 1);
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].decRefCount();
+                    this._renderPasses[passName]._decRefCount();
                 }
             }
         }
 
-        public enable(cameras: Camera[]): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        // private
+        public _enable(cameras: Camera);
+        public _enable(cameras: Camera[]);
+        public _enable(cameras: any): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
+
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.Name;
 
-            for (var i = 0; i < cameras.length; i++) {
-                for (var j = 0; j < this._indicesForCamera[cameras[i].name].length; j++) {
-                    if (cameras[i]._postProcesses[this._indicesForCamera[cameras[i].name][j]] === undefined) {
-                        if (this._singleInstance) {
-                            cameras[i].attachPostProcess(this._postProcesses[0], this._indicesForCamera[cameras[i].name][j]);
-                        }
-                        else {
-                            cameras[i].attachPostProcess(this._postProcesses[cameras[i].name], this._indicesForCamera[cameras[i].name][j]);
-                        }
+                for (var j = 0; j < this._indicesForCamera[cameraName].length; j++) {
+                    if (camera._postProcesses[this._indicesForCamera[cameraName][j]] === undefined) {
+                        cameras[i].attachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName][j]);
                     }
                 }
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].incRefCount();
+                    this._renderPasses[passName]._incRefCount();
                 }
             }
         }
 
-        public disable(cameras: Camera[]): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        // private
+        public _disable(cameras: Camera);
+        public _disable(cameras: Camera[]);
+        public _disable(cameras: any): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
 
-            for (var i = 0; i < cameras.length; i++) {
-                if (this._singleInstance) {
-                    cameras[i].detachPostProcess(this._postProcesses[0], this._indicesForCamera[cameras[i].name]);
-                }
-                else {
-                    cameras[i].detachPostProcess(this._postProcesses[cameras[i].name], this._indicesForCamera[cameras[i].name]);
-                }
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.Name;
+
+                camera.detachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName]);
 
                 for (var passName in this._renderPasses) {
-                    this._renderPasses[passName].decRefCount();
+                    this._renderPasses[passName]._decRefCount();
                 }
             }
         }
 
         public getPostProcess(): PostProcess {
-            return this._postProcesses[0];
+            return this._postProcesses[0]; // todo: always 0?
         }
 
         private _linkParameters(): void {
-            var that = this;
             for (var index in this._postProcesses) {
-                this._postProcesses[index].onApply = function (effect) {
-                    that.parameters(effect);
-                    that._linkTextures(effect);
+                this._postProcesses[index].onApply = (effect: Effect) => {
+                    this.parameters(effect);
+                    this._linkTextures(effect);
                 };
             }
         }

+ 9 - 8
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js

@@ -2,10 +2,9 @@
 (function (BABYLON) {
     var PostProcessRenderPass = (function () {
         function PostProcessRenderPass(scene, name, size, renderList, beforeRender, afterRender) {
-            this.name = name;
             this._enabled = true;
             this._refCount = 0;
-            this.name = name;
+            this._name = name;
 
             this._renderTexture = new BABYLON.RenderTargetTexture(name, size, scene);
             this.setRenderList(renderList);
@@ -15,7 +14,8 @@
 
             this._scene = scene;
         }
-        PostProcessRenderPass.prototype.incRefCount = function () {
+        // private
+        PostProcessRenderPass.prototype._incRefCount = function () {
             if (this._refCount == 0) {
                 this._scene.customRenderTargets.push(this._renderTexture);
             }
@@ -23,7 +23,7 @@
             return ++this._refCount;
         };
 
-        PostProcessRenderPass.prototype.decRefCount = function () {
+        PostProcessRenderPass.prototype._decRefCount = function () {
             this._refCount--;
 
             if (this._refCount <= 0) {
@@ -33,6 +33,11 @@
             return this._refCount;
         };
 
+        PostProcessRenderPass.prototype._update = function () {
+            this.setRenderList(this._renderList);
+        };
+
+        // public
         PostProcessRenderPass.prototype.setRenderList = function (renderList) {
             this._renderTexture.renderList = renderList;
         };
@@ -40,10 +45,6 @@
         PostProcessRenderPass.prototype.getRenderTexture = function () {
             return this._renderTexture;
         };
-
-        PostProcessRenderPass.prototype._update = function () {
-            this.setRenderList(this._renderList);
-        };
         return PostProcessRenderPass;
     })();
     BABYLON.PostProcessRenderPass = PostProcessRenderPass;

+ 14 - 9
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPass.ts

@@ -6,10 +6,11 @@
         private _scene: Scene;
         private _refCount: number = 0;
 
-        public m_name: string;
+        // private
+        public _name: string;
 
-        constructor(scene: Scene, public name: string, size: number, renderList: Mesh[], beforeRender: () => void, afterRender: () => void) {
-            this.name = name;
+        constructor(scene: Scene, name: string, size: number, renderList: Mesh[], beforeRender: () => void, afterRender: () => void) {
+            this._name = name;
 
             this._renderTexture = new RenderTargetTexture(name, size, scene);
             this.setRenderList(renderList);
@@ -20,7 +21,9 @@
             this._scene = scene;
         }
 
-        public incRefCount(): number {
+        // private
+
+        public _incRefCount(): number {
             if (this._refCount == 0) {
                 this._scene.customRenderTargets.push(this._renderTexture);
             }
@@ -28,7 +31,7 @@
             return ++this._refCount;
         }
 
-        public decRefCount(): number {
+        public _decRefCount(): number {
             this._refCount--;
 
             if (this._refCount <= 0) {
@@ -38,6 +41,12 @@
             return this._refCount;
         }
 
+        public _update(): void {
+            this.setRenderList(this._renderList);
+        }
+
+        // public
+
         public setRenderList(renderList: Mesh[]): void {
             this._renderTexture.renderList = renderList;
         }
@@ -45,9 +54,5 @@
         public getRenderTexture(): RenderTargetTexture {
             return this._renderTexture;
         }
-
-        public _update(): void {
-            this.setRenderList(this._renderList);
-        }
     }
 }

+ 31 - 32
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js

@@ -3,49 +3,48 @@ var BABYLON;
     var PostProcessRenderPipeline = (function () {
         function PostProcessRenderPipeline(engine, name) {
             this._engine = engine;
-            this.name = name;
+            this._name = name;
 
             this._renderEffects = [];
-            this._renderEffectsPasses = [];
+            this._renderEffectsForIsolatedPass = [];
 
             this._cameras = [];
         }
         PostProcessRenderPipeline.prototype.addEffect = function (renderEffect) {
-            this._renderEffects[renderEffect.name] = renderEffect;
+            this._renderEffects[renderEffect._name] = renderEffect;
         };
 
         PostProcessRenderPipeline.prototype.enableEffect = function (renderEffectName, cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
-
             var renderEffects = this._renderEffects[renderEffectName];
 
             if (!renderEffects) {
                 return;
             }
 
-            renderEffects.enable(cameras);
+            renderEffects.enable(BABYLON.Tools.MakeArray(cameras || this._cameras));
         };
 
         PostProcessRenderPipeline.prototype.disableEffect = function (renderEffectName, cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
-
             var renderEffects = this._renderEffects[renderEffectName];
 
             if (!renderEffects) {
                 return;
             }
 
-            renderEffects.disable(cameras);
+            renderEffects.disable(BABYLON.Tools.MakeArray(cameras || this._cameras));
         };
 
         PostProcessRenderPipeline.prototype.attachCameras = function (cameras, unique) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
             var indicesToDelete = [];
 
-            for (var i = 0; i < cameras.length; i++) {
-                if (this._cameras.indexOf(cameras[i]) == -1) {
-                    this._cameras[cameras[i].name] = cameras[i];
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.name;
+
+                if (this._cameras.indexOf(camera) === -1) {
+                    this._cameras[cameraName] = camera;
                 } else if (unique) {
                     indicesToDelete.push(i);
                 }
@@ -56,24 +55,24 @@ var BABYLON;
             }
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].attachCameras(cameras);
+                this._renderEffects[renderEffectName]._attachCameras(_cam);
             }
         };
 
         PostProcessRenderPipeline.prototype.detachCameras = function (cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].detachCameras(cameras);
+                this._renderEffects[renderEffectName]._detachCameras(_cam);
             }
 
-            for (var i = 0; i < cameras.length; i++) {
-                this._cameras.splice(this._cameras.indexOf(cameras[i]), 1);
+            for (var i = 0; i < _cam.length; i++) {
+                this._cameras.splice(this._cameras.indexOf(_cam[i]), 1);
             }
         };
 
         PostProcessRenderPipeline.prototype.enableDisplayOnlyPass = function (passName, cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
             var pass = null;
 
@@ -90,29 +89,29 @@ var BABYLON;
             }
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].disable(cameras);
+                this._renderEffects[renderEffectName]._disable(_cam);
             }
 
             pass._name = PostProcessRenderPipeline.PASS_SAMPLER_NAME;
 
-            for (var i = 0; i < cameras.length; i++) {
-                this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new BABYLON.PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
-                this._renderEffectsPasses[cameras[i].name].emptyPasses();
-                this._renderEffectsPasses[cameras[i].name].addPass(pass);
-                this._renderEffectsPasses[cameras[i].name].attachCameras(cameras[i]);
+            for (var i = 0; i < _cam.length; i++) {
+                this._renderEffectsForIsolatedPass[_cam[i].name] = this._renderEffectsForIsolatedPass[_cam[i].name] || new BABYLON.PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
+                this._renderEffectsForIsolatedPass[_cam[i].name].emptyPasses();
+                this._renderEffectsForIsolatedPass[_cam[i].name].addPass(pass);
+                this._renderEffectsForIsolatedPass[_cam[i].name]._attachCameras(_cam[i]);
             }
         };
 
         PostProcessRenderPipeline.prototype.disableDisplayOnlyPass = function (cameras) {
-            cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
+            var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
-            for (var i = 0; i < cameras.length; i++) {
-                this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new BABYLON.PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
-                this._renderEffectsPasses[cameras[i].name].disable(cameras[i]);
+            for (var i = 0; i < _cam.length; i++) {
+                this._renderEffectsForIsolatedPass[_cam[i].name] = this._renderEffectsForIsolatedPass[_cam[i].name] || new BABYLON.PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
+                this._renderEffectsForIsolatedPass[_cam[i].name]._disable(_cam[i]);
             }
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].enable(cameras);
+                this._renderEffects[renderEffectName]._enable(_cam);
             }
         };
 
@@ -122,8 +121,8 @@ var BABYLON;
             }
 
             for (var i = 0; i < this._cameras.length; i++) {
-                if (this._renderEffectsPasses[this._cameras[i].name]) {
-                    this._renderEffectsPasses[this._cameras[i].name]._update();
+                if (this._renderEffectsForIsolatedPass[this._cameras[i].name]) {
+                    this._renderEffectsForIsolatedPass[this._cameras[i].name]._update();
                 }
             }
         };

+ 54 - 41
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.ts

@@ -3,61 +3,67 @@ module BABYLON {
         private _engine: Engine;
 
         private _renderEffects: PostProcessRenderEffect[];
-        private _renderEffectsPasses: PostProcessRenderEffect[];
+        private _renderEffectsForIsolatedPass: PostProcessRenderEffect[];
 
         private _cameras: Camera[];
 
-        public name: string;
+        // private
+        public _name: string;
 
-        public static PASS_EFFECT_NAME: string = "passEffect";
-        public static PASS_SAMPLER_NAME: string = "passSampler";
+        private static PASS_EFFECT_NAME: string = "passEffect";
+        private static PASS_SAMPLER_NAME: string = "passSampler";
 
         constructor(engine: Engine, name: string) {
             this._engine = engine;
-            this.name = name;
+            this._name = name;
 
             this._renderEffects = [];
-            this._renderEffectsPasses = [];
+            this._renderEffectsForIsolatedPass = [];
 
             this._cameras = [];
         }
 
         public addEffect(renderEffect: PostProcessRenderEffect): void {
-            this._renderEffects[renderEffect.name] = renderEffect;
+            this._renderEffects[renderEffect._name] = renderEffect;
         }
 
-        public enableEffect(renderEffectName: string, cameras): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
-
+        public enableEffect(renderEffectName: string, cameras: Camera);
+        public enableEffect(renderEffectName: string, cameras: Camera[]);
+        public enableEffect(renderEffectName: string, cameras: any): void {
             var renderEffects = this._renderEffects[renderEffectName];
 
             if (!renderEffects) {
                 return;
             }
 
-            renderEffects.enable(cameras);
+            renderEffects.enable(Tools.MakeArray(cameras || this._cameras));
         }
 
+        public disableEffect(renderEffectName: string, cameras: Camera);
+        public disableEffect(renderEffectName: string, cameras: Camera[]);
         public disableEffect(renderEffectName: string, cameras): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
-
             var renderEffects = this._renderEffects[renderEffectName];
 
             if (!renderEffects) {
                 return;
             }
 
-            renderEffects.disable(cameras);
+            renderEffects.disable(Tools.MakeArray(cameras || this._cameras));
         }
 
-        public attachCameras(cameras, unique: boolean): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        public attachCameras(cameras: Camera, unique: boolean);
+        public attachCameras(cameras: Camera[], unique: boolean);
+        public attachCameras(cameras: any, unique: boolean): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
 
             var indicesToDelete = [];
 
-            for (var i = 0; i < cameras.length; i++) {
-                if (this._cameras.indexOf(cameras[i]) == -1) {
-                    this._cameras[cameras[i].name] = cameras[i];
+            for (var i = 0; i < _cam.length; i++) {
+                var camera = _cam[i];
+                var cameraName = camera.name;
+
+                if (this._cameras.indexOf(camera) === -1) {
+                    this._cameras[cameraName] = camera;
                 }
                 else if (unique) {
                     indicesToDelete.push(i);
@@ -69,24 +75,29 @@ module BABYLON {
             }
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].attachCameras(cameras);
+                this._renderEffects[renderEffectName]._attachCameras(_cam);
             }
         }
 
-        public detachCameras(cameras): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        // todo
+        public detachCameras(cameras: Camera);
+        public detachCameras(cameras: Camera[]);
+        public detachCameras(cameras: any): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].detachCameras(cameras);
+                this._renderEffects[renderEffectName]._detachCameras(_cam);
             }
 
-            for (var i = 0; i < cameras.length; i++) {
-                this._cameras.splice(this._cameras.indexOf(cameras[i]), 1);
+            for (var i = 0; i < _cam.length; i++) {
+                this._cameras.splice(this._cameras.indexOf(_cam[i]), 1);
             }
         }
 
-        public enableDisplayOnlyPass(passName, cameras): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        public enableDisplayOnlyPass(passName, cameras: Camera);
+        public enableDisplayOnlyPass(passName, cameras: Camera[]);
+        public enableDisplayOnlyPass(passName, cameras: any): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
 
             var pass = null;
 
@@ -103,29 +114,31 @@ module BABYLON {
             }
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].disable(cameras);
+                this._renderEffects[renderEffectName]._disable(_cam);
             }
 
             pass._name = PostProcessRenderPipeline.PASS_SAMPLER_NAME;
 
-            for (var i = 0; i < cameras.length; i++) {
-                this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
-                this._renderEffectsPasses[cameras[i].name].emptyPasses();
-                this._renderEffectsPasses[cameras[i].name].addPass(pass);
-                this._renderEffectsPasses[cameras[i].name].attachCameras(cameras[i]);
+            for (var i = 0; i < _cam.length; i++) {
+                this._renderEffectsForIsolatedPass[_cam[i].name] = this._renderEffectsForIsolatedPass[_cam[i].name] || new PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
+                this._renderEffectsForIsolatedPass[_cam[i].name].emptyPasses();
+                this._renderEffectsForIsolatedPass[_cam[i].name].addPass(pass);
+                this._renderEffectsForIsolatedPass[_cam[i].name]._attachCameras(_cam[i]);
             }
         }
 
-        public disableDisplayOnlyPass(cameras): void {
-            cameras = Tools.MakeArray(cameras || this._cameras);
+        public disableDisplayOnlyPass(cameras: Camera);
+        public disableDisplayOnlyPass(cameras: Camera[]);
+        public disableDisplayOnlyPass(cameras: any): void {
+            var _cam = Tools.MakeArray(cameras || this._cameras);
 
-            for (var i = 0; i < cameras.length; i++) {
-                this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
-                this._renderEffectsPasses[cameras[i].name].disable(cameras[i]);
+            for (var i = 0; i < _cam.length; i++) {
+                this._renderEffectsForIsolatedPass[_cam[i].name] = this._renderEffectsForIsolatedPass[_cam[i].name] || new PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0, null, null);
+                this._renderEffectsForIsolatedPass[_cam[i].name]._disable(_cam[i]);
             }
 
             for (var renderEffectName in this._renderEffects) {
-                this._renderEffects[renderEffectName].enable(cameras);
+                this._renderEffects[renderEffectName]._enable(_cam);
             }
         }
 
@@ -135,8 +148,8 @@ module BABYLON {
             }
 
             for (var i = 0; i < this._cameras.length; i++) {
-                if (this._renderEffectsPasses[this._cameras[i].name]) {
-                    this._renderEffectsPasses[this._cameras[i].name]._update();
+                if (this._renderEffectsForIsolatedPass[this._cameras[i].name]) {
+                    this._renderEffectsForIsolatedPass[this._cameras[i].name]._update();
                 }
             }
         }

+ 1 - 1
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js

@@ -5,7 +5,7 @@ var BABYLON;
             this._renderPipelines = [];
         }
         PostProcessRenderPipelineManager.prototype.addPipeline = function (renderPipeline) {
-            this._renderPipelines[renderPipeline.name] = renderPipeline;
+            this._renderPipelines[renderPipeline._name] = renderPipeline;
         };
 
         PostProcessRenderPipelineManager.prototype.attachCamerasToRenderPipeline = function (renderPipelineName, cameras, unique) {

+ 19 - 7
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.ts

@@ -7,10 +7,12 @@ module BABYLON {
         }
 
         public addPipeline(renderPipeline: PostProcessRenderPipeline): void {
-            this._renderPipelines[renderPipeline.name] = renderPipeline;
+            this._renderPipelines[renderPipeline._name] = renderPipeline;
         }
 
-        public attachCamerasToRenderPipeline(renderPipelineName: string, cameras, unique): void {
+        public attachCamerasToRenderPipeline(renderPipelineName: string, cameras: Camera, unique?: boolean);
+        public attachCamerasToRenderPipeline(renderPipelineName: string, cameras: Camera[], unique?: boolean);
+        public attachCamerasToRenderPipeline(renderPipelineName: string, cameras: any, unique?:boolean): void {
             var renderPipeline = this._renderPipelines[renderPipelineName];
 
             if (!renderPipeline) {
@@ -20,7 +22,9 @@ module BABYLON {
             renderPipeline.attachCameras(cameras, unique);
         }
 
-        public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras): void {
+        public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: Camera);
+        public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: Camera[]);
+        public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: any): void {
             var renderPipeline = this._renderPipelines[renderPipelineName];
 
             if (!renderPipeline) {
@@ -30,7 +34,9 @@ module BABYLON {
             renderPipeline.detachCameras(cameras);
         }
 
-        public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras): void {
+        public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera)
+        public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera[])
+        public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: any): void {
             var renderPipeline = this._renderPipelines[renderPipelineName];
 
             if (!renderPipeline) {
@@ -40,7 +46,9 @@ module BABYLON {
             renderPipeline.enableEffect(renderEffectName, cameras);
         }
 
-        public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras): void {
+        public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera);
+        public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera[]);
+        public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: any): void {
             var renderPipeline = this._renderPipelines[renderPipelineName];
 
             if (!renderPipeline) {
@@ -50,7 +58,9 @@ module BABYLON {
             renderPipeline.disableEffect(renderEffectName, cameras);
         }
 
-        public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras): void {
+        public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: Camera)
+        public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: Camera[])
+        public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras:any): void {
             var renderPipeline = this._renderPipelines[renderPipelineName];
 
             if (!renderPipeline) {
@@ -60,7 +70,9 @@ module BABYLON {
             renderPipeline.enableDisplayOnlyPass(passName, cameras);
         }
 
-        public disableDisplayOnlyPassInPipeline(renderPipelineName, cameras): void {
+        public disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: Camera)
+        public disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: Camera[])
+        public disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: any): void {
             var renderPipeline = this._renderPipelines[renderPipelineName];
 
             if (!renderPipeline) {

+ 38 - 35
Tools/BuildOurOwnBabylonJS/BuildOurOwnBabylonJS/babylonJS.xml

@@ -2,28 +2,40 @@
 <files xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="babylonJS.xsd">
   <script src="Babylon/Tools/babylon.gamepads.js"></script>
   <script src="Babylon/Cameras/babylon.gamepadCamera.js"></script>
+  <script src="Babylon/Mesh/babylon.GroundMesh.js"></script>
+  <script src="Babylon/Mesh/babylon.geometry.js"></script>
+  <script src="Babylon/Actions/babylon.directActions.js"></script>
+  <script src="Babylon/Actions/babylon.interpolateValueAction.js"></script>
+  <script src="Babylon/Actions/babylon.actionManager.js"></script>
+  <script src="Babylon/Actions/babylon.action.js"></script>
+  <script src="Babylon/Actions/babylon.condition.js"></script>
+  <script src="Babylon/Rendering/babylon.boundingBoxRenderer.js"></script>
+  <script src="Babylon/PostProcess/babylon.displayPassPostProcess.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js"></script>
+  <script src="Babylon/Tools/babylon.andOrNotEvaluator.js"></script>
+  <script src="Babylon/Tools/babylon.tags.js"></script>
+  <script src="Babylon/PostProcess/babylon.anaglyphPostProcess.js"></script>
+  <script src="Babylon/Cameras/babylon.anaglyphCamera.js"></script>
+  <script src="Babylon/Mesh/babylon.mesh.vertexData.js"></script>
   <script src="Babylon/Materials/babylon.shaderMaterial.js"></script>
+  <script src="Babylon/Cameras/Controllers/babylon.globalAxisFactorsFilter.js"></script>
+  <script src="Babylon/Cameras/Controllers/babylon.gravityInputController.js"></script>
+  <script src="Babylon/Cameras/Controllers/babylon.inputCollisionFilter.js"></script>
+  <script src="Babylon/Cameras/Controllers/babylon.keyboardMoveController.js"></script>
   <script src="Babylon/Cameras/babylon.virtualJoysticksCamera.js"></script>
-  <script src="Babylon/Tools/babylon.virtualJoystick.js"></script>
   <script src="Babylon/Cameras/babylon.oculusOrientedCamera.js"></script>
-  <script src="Babylon/PostProcess/babylon.oculusDistortionCorrectionPostProcess.js"></script>
   <script src="Babylon/Cameras/Controllers/babylon.oculusController.js"></script>
-  <script src="Babylon/Cameras/Controllers/babylon.keyboardMoveController.js"></script>
-  <script src="Babylon/Cameras/Controllers/babylon.inputController.js"></script>
+  <script src="Babylon/Tools/babylon.virtualJoystick.js"></script>
+  <script src="Babylon/PostProcess/babylon.oculusDistortionCorrectionPostProcess.js"></script>
   <script src="Babylon/Mesh/babylon.csg.js"></script>
   <script src="Babylon/Tools/babylon.sceneSerializer.js"></script>
   <script src="Babylon/Physics/babylon.physicsEngine.js"></script>
   <script src="Babylon/Physics/Plugins/babylon.cannonJSPlugin.js"></script>
-  <script src="Babylon/Tools/babylon.filesInput.js"></script>
-  <script src="Babylon/Collisions/babylon.pickingInfo.js"></script>
   <script src="Babylon/LensFlare/babylon.lensFlareSystem.js"></script>
   <script src="Babylon/LensFlare/babylon.lensFlare.js"></script>
-  <script src="Babylon/PostProcess/babylon.anaglyphPostProcess.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js"></script>
-  <script src="Babylon/PostProcess/babylon.displayPassPostProcess.js"></script>
   <script src="Babylon/PostProcess/babylon.fxaaPostProcess.js"></script>
   <script src="Babylon/PostProcess/babylon.filterPostProcess.js"></script>
   <script src="Babylon/PostProcess/babylon.convolutionPostProcess.js"></script>
@@ -33,8 +45,8 @@
   <script src="Babylon/PostProcess/babylon.passPostProcess.js"></script>
   <script src="Babylon/PostProcess/babylon.postProcessManager.js"></script>
   <script src="Babylon/PostProcess/babylon.postProcess.js"></script>
-  <script src="Babylon/Bones/babylon.skeleton.js"></script>
   <script src="Babylon/Bones/babylon.bone.js"></script>
+  <script src="Babylon/Bones/babylon.skeleton.js"></script>
   <script src="Babylon/Culling/Octrees/babylon.octreeBlock.js"></script>
   <script src="Babylon/Culling/Octrees/babylon.octree.js"></script>
   <script src="Babylon/Animations/babylon.animatable.js"></script>
@@ -46,7 +58,6 @@
   <script src="Babylon/Sprites/babylon.spriteManager.js"></script>
   <script src="Babylon/Loading/Plugins/babylon.babylonFileLoader.js"></script>
   <script src="Babylon/Loading/babylon.sceneLoader.js"></script>
-  <script src="Babylon/Tools/babylon.database.js"></script>
   <script src="Babylon/Materials/babylon.multiMaterial.js"></script>
   <script src="Babylon/Materials/babylon.standardMaterial.js"></script>
   <script src="Babylon/Materials/babylon.material.js"></script>
@@ -57,47 +68,39 @@
   <script src="Babylon/Materials/textures/babylon.renderTargetTexture.js"></script>
   <script src="Babylon/Materials/textures/babylon.cubeTexture.js"></script>
   <script src="Babylon/Materials/textures/babylon.texture.js"></script>
-  <script src="Babylon/Rendering/babylon.renderingManager.js"></script>
-  <script src="Babylon/Rendering/babylon.renderingGroup.js"></script>
   <script src="Babylon/Materials/textures/babylon.baseTexture.js"></script>
   <script src="Babylon/Mesh/babylon.subMesh.js"></script>
   <script src="Babylon/Mesh/babylon.mesh.js"></script>
-  <script src="Babylon/Mesh/babylon.GroundMesh.js"></script>
   <script src="Babylon/Mesh/babylon.InstancedMesh.js"></script>
-  <script src="Babylon/Mesh/babylon.AbstractMesh.js"></script>
-  <script src="Babylon/Mesh/babylon.geometry.js"></script>
-  <script src="Babylon/Mesh/babylon.mesh.vertexData.js"></script>
   <script src="Babylon/Mesh/babylon.vertexBuffer.js"></script>
   <script src="Babylon/babylon.scene.js"></script>
-  <script src="Babylon/Rendering/babylon.boundingBoxRenderer.js"></script>
-  <script src="Babylon/Actions/babylon.condition.js"></script>
-  <script src="Babylon/Actions/babylon.actionManager.js"></script>
-  <script src="Babylon/Actions/babylon.interpolateValueAction.js"></script>
-  <script src="Babylon/Actions/babylon.directActions.js"></script>
-  <script src="Babylon/Actions/babylon.action.js"></script>
-  <script src="Babylon/Cameras/babylon.anaglyphCamera.js"></script>
-  <script src="Babylon/Cameras/babylon.arcRotateCamera.js"></script>
+  <script src="Babylon/Rendering/babylon.renderingGroup.js"></script>
+  <script src="Babylon/Rendering/babylon.renderingManager.js"></script>
   <script src="Babylon/Cameras/babylon.deviceOrientationCamera.js"></script>
+  <script src="Babylon/Cameras/babylon.arcRotateCamera.js"></script>
   <script src="Babylon/Cameras/babylon.touchCamera.js"></script>
   <script src="Babylon/Cameras/babylon.freeCamera.js"></script>
   <script src="Babylon/Cameras/babylon.camera.js"></script>
+  <script src="Babylon/Cameras/Controllers/babylon.inputController.js"></script>
   <script src="Babylon/Collisions/babylon.collider.js"></script>
-  <script src="Babylon/Lights/babylon.hemisphericLight.js"></script>
   <script src="Babylon/Lights//Shadows/babylon.shadowGenerator.js"></script>
   <script src="Babylon/Lights/babylon.directionalLight.js"></script>
+  <script src="Babylon/Lights/babylon.hemisphericLight.js"></script>
   <script src="Babylon/Lights/babylon.spotlight.js"></script>
   <script src="Babylon/Lights/babylon.pointLight.js"></script>
   <script src="Babylon/Lights/babylon.light.js"></script>
+  <script src="Babylon/Mesh/babylon.AbstractMesh.js"></script>
+  <script src="Babylon/Collisions/babylon.pickingInfo.js"></script>
   <script src="Babylon/Culling/babylon.boundingInfo.js"></script>
   <script src="Babylon/Culling/babylon.boundingBox.js"></script>
   <script src="Babylon/Culling/babylon.boundingSphere.js"></script>
+  <script src="Babylon/Tools/babylon.filesInput.js"></script>
+  <script src="Babylon/babylon.node.js"></script>
   <script src="Babylon/babylon.engine.js"></script>
-  <script src="Babylon/Math/babylon.math.js"></script>
-  <script src="Babylon/Tools/babylon.tags.js"></script>
-  <script src="Babylon/Tools/babylon.andOrNotEvaluator.js"></script>
+  <script src="Babylon/Tools/babylon.tools.js"></script>
   <script src="Babylon/Tools/babylon.smartArray.js"></script>
-  <script src="Babylon/Tools/babylon.tools.tga.js"></script>
   <script src="Babylon/Tools/babylon.tools.dds.js"></script>
-  <script src="Babylon/Tools/babylon.tools.js"></script>
-  <script src="Babylon/babylon.node.js"></script>
+  <script src="Babylon/Tools/babylon.tools.tga.js"></script>
+  <script src="Babylon/Tools/babylon.database.js"></script>
+  <script src="Babylon/Math/babylon.math.js"></script>
 </files>

文件差異過大導致無法顯示
+ 7 - 7
Tools/BuildOurOwnBabylonJS/BuildOurOwnBabylonJS/ourOwnBabylon.js