Browse Source

More TS files

David Catuhe 11 years ago
parent
commit
1cc50d237a

+ 4 - 4
Babylon/Cameras/babylon.arcRotateCamera.js

@@ -246,8 +246,8 @@ var BABYLON;
             element.addEventListener("MSGestureChange", this._onGesture, false);
             window.addEventListener("keydown", this._onKeyDown, false);
             window.addEventListener("keyup", this._onKeyUp, false);
-            window.addEventListener('mousewheel', this._wheel, false);
-            window.addEventListener('DOMMouseScroll', this._wheel, false);
+            element.addEventListener('mousewheel', this._wheel, false);
+            element.addEventListener('DOMMouseScroll', this._wheel, false);
             window.addEventListener("blur", this._onLostFocus, false);
         };
 
@@ -265,8 +265,8 @@ var BABYLON;
             element.removeEventListener("MSGestureChange", this._onGesture);
             window.removeEventListener("keydown", this._onKeyDown);
             window.removeEventListener("keyup", this._onKeyUp);
-            window.removeEventListener('mousewheel', this._wheel);
-            window.removeEventListener('DOMMouseScroll', this._wheel);
+            element.removeEventListener('mousewheel', this._wheel);
+            element.removeEventListener('DOMMouseScroll', this._wheel);
             window.removeEventListener("blur", this._onLostFocus);
 
             this._MSGestureHandler = null;

+ 4 - 4
Babylon/Cameras/babylon.arcRotateCamera.ts

@@ -262,8 +262,8 @@
             element.addEventListener("MSGestureChange", this._onGesture, false);
             window.addEventListener("keydown", this._onKeyDown, false);
             window.addEventListener("keyup", this._onKeyUp, false);
-            window.addEventListener('mousewheel', this._wheel, false);
-            window.addEventListener('DOMMouseScroll', this._wheel, false);
+            element.addEventListener('mousewheel', this._wheel, false);
+            element.addEventListener('DOMMouseScroll', this._wheel, false);
             window.addEventListener("blur", this._onLostFocus, false);
         }
 
@@ -281,8 +281,8 @@
             element.removeEventListener("MSGestureChange", this._onGesture);
             window.removeEventListener("keydown", this._onKeyDown);
             window.removeEventListener("keyup", this._onKeyUp);
-            window.removeEventListener('mousewheel', this._wheel);
-            window.removeEventListener('DOMMouseScroll', this._wheel);
+            element.removeEventListener('mousewheel', this._wheel);
+            element.removeEventListener('DOMMouseScroll', this._wheel);
             window.removeEventListener("blur", this._onLostFocus);
 
             this._MSGestureHandler = null;

+ 92 - 0
Babylon/Loading/scenelLoadedr.waiting.for.database.ts

@@ -0,0 +1,92 @@
+//module BABYLON {
+
+//    export interface IFileLoader {
+//        extensions: string;
+//        importMesh(meshesNames: any, scene: Scene, data: string, rootUrl: string, meshes: Mesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]): boolean;
+//        load(scene: Scene, data: string, rootUrl: string): void;
+//    }
+
+//    export class SceneLoader {
+//        private static _registeredPlugins = new Array<IFileLoader>();
+
+//        // Methods
+//        private static _GetPluginForFilename(sceneFilename: string): IFileLoader {
+//            var dotPosition = sceneFilename.lastIndexOf(".");
+//            var extension = sceneFilename.substring(dotPosition).toLowerCase();
+
+//            for (var index = 0; index < this._registeredPlugins.length; index++) {
+//                var plugin = this._registeredPlugins[index];
+
+//                if (plugin.extensions.indexOf(extension) !== -1) {
+//                    return plugin;
+//                }
+//            }
+
+//            throw new Error("No plugin found to load this file: " + sceneFilename);
+//        }
+
+//        // Public functions
+//        public static RegisterPlugin(plugin: IFileLoader): void {
+//            plugin.extensions = plugin.extensions.toLowerCase();
+//            SceneLoader._registeredPlugins.push(plugin);
+//        }
+
+//        public static ImportMesh(meshesNames: any, rootUrl: string, sceneFilename: string, scene: Scene,
+//            onsuccess: (meshes: Mesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]) => void, progressCallBack: () => void, onerror: (scene: Scene) => void): void {
+//            // Checking if a manifest file has been set for this scene and if offline mode has been requested
+//            var database = new BABYLON.Database(rootUrl + sceneFilename);
+//            scene.database = database;
+
+//            var plugin = SceneLoader._GetPluginForFilename(sceneFilename);
+
+//            BABYLON.Tools.LoadFile(rootUrl + sceneFilename, data => {
+//                var meshes = [];
+//                var particleSystems = [];
+//                var skeletons = [];
+
+//                if (!plugin.importMesh(meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons)) {
+//                    if (onerror) {
+//                        onerror(scene);
+//                    }
+
+//                    return;
+//                }
+
+//                if (onsuccess) {
+//                    onsuccess(meshes, particleSystems, skeletons);
+//                }
+//            }, progressCallBack, database);
+//        }
+
+//        public static Load(rootUrl: string, sceneFilename: any, engine: Engine, onsuccess: (scene: Scene) => void, progressCallBack: () => void, onerror: (scene: Scene) => void): void {
+//            var plugin = SceneLoader._GetPluginForFilename(sceneFilename.name || sceneFilename);
+//            var database;
+
+//            var loadSceneFromData = data => {
+//                var scene = new BABYLON.Scene(engine);
+//                scene.database = database;
+
+//                if (!plugin.load(scene, data, rootUrl)) {
+//                    if (onerror) {
+//                        onerror(scene);
+//                    }
+
+//                    return;
+//                }
+
+//                if (onsuccess) {
+//                    onsuccess(scene);
+//                }
+//            }
+
+//            if (rootUrl.indexOf("file:") === -1) {
+//                // Checking if a manifest file has been set for this scene and if offline mode has been requested
+//                database = new BABYLON.Database(rootUrl + sceneFilename);
+
+//                BABYLON.Tools.LoadFile(rootUrl + sceneFilename, loadSceneFromData, progressCallBack, database);
+//            } else { // Loading file from disk via input file or drag'n'drop
+//                BABYLON.Tools.ReadFile(sceneFilename, loadSceneFromData, progressCallBack);
+//            }
+//        }
+//    }
+//}

+ 50 - 0
Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPass.ts

@@ -0,0 +1,50 @@
+module BABYLON {
+    export class PostProcessRenderPass {
+        private _enabled = true;
+        private _renderList: Mesh[];
+        private _renderTexture: RenderTargetTexture;
+        private _scene: Scene;
+        private _refCount = 0;
+
+        constructor(scene: Scene, public name: string, size: number, renderList: Mesh[], beforeRender: () => void, afterRender: () => void) {
+
+            this._renderTexture = new RenderTargetTexture(name, size, scene);
+            this.setRenderList(renderList);
+
+            this._renderTexture.onBeforeRender = beforeRender;
+            this._renderTexture.onAfterRender = afterRender;
+
+            this._scene = scene;
+        }
+
+        public incRefCount(): number {
+            if (this._refCount == 0) {
+                this._scene.customRenderTargets.push(this._renderTexture);
+            }
+
+            return ++this._refCount;
+        }
+
+        public decRefCount(): number {
+            this._refCount--;
+
+            if (this._refCount <= 0) {
+                this._scene.customRenderTargets.splice(this._scene.customRenderTargets.indexOf(this._renderTexture), 1);
+            }
+
+            return this._refCount;
+        }
+
+        public setRenderList(renderList: Mesh[]): void {
+            this._renderTexture.renderList = renderList;
+        }
+
+        public getRenderTexture(): RenderTargetTexture {
+            return this._renderTexture;
+        }
+
+        public _update(): void {
+            this.setRenderList(this._renderList);
+        }
+    }
+}

+ 1 - 1
Babylon/Tools/babylon.tools.ts

@@ -83,7 +83,7 @@
             };
         }
 
-        public static MakeArray(obj, allowsNullUndefined: boolean): Array<any> {
+        public static MakeArray(obj, allowsNullUndefined?: boolean): Array<any> {
             if (allowsNullUndefined !== true && (obj === undefined || obj == null))
                 return undefined;
 

+ 1 - 5
Babylon/babylon.engine.js

@@ -487,11 +487,7 @@
         Engine.prototype.draw = function (useTriangles, indexStart, indexCount) {
             this._gl.drawElements(useTriangles ? this._gl.TRIANGLES : this._gl.LINES, indexCount, this._gl.UNSIGNED_SHORT, indexStart * 2);
 
-            var error = this._gl.getError();
-
-            if (error) {
-                console.log(error);
-            }
+            this._gl.getError();
         };
 
         // Shaders

+ 1 - 5
Babylon/babylon.engine.ts

@@ -544,11 +544,7 @@
         public draw(useTriangles: boolean, indexStart: number, indexCount: number): void {
             this._gl.drawElements(useTriangles ? this._gl.TRIANGLES : this._gl.LINES, indexCount, this._gl.UNSIGNED_SHORT, indexStart * 2);
 
-            var error = this._gl.getError();
-
-            if (error) {
-                console.log(error);
-            }
+            this._gl.getError();
         }
 
         // Shaders

+ 9 - 2
Babylon/babylon.scene.js

@@ -62,7 +62,7 @@
             this.postProcessesEnabled = true;
             // Customs render targets
             this.renderTargetsEnabled = true;
-            this.customRenderTargets = [];
+            this.customRenderTargets = new Array();
             this._totalVertices = 0;
             this._activeVertices = 0;
             this._activeParticles = 0;
@@ -962,7 +962,14 @@
 
                 camera = this.activeCamera;
             }
-            var viewport = camera.viewport.toGlobal(engine);
+
+            var cameraViewport = camera.viewport;
+            var viewport = cameraViewport.toGlobal(engine);
+
+            // Moving coordinates to local viewport world
+            x = x - viewport.x;
+            y = y - (this._engine.getRenderHeight() - viewport.y - viewport.height);
+
             return BABYLON.Ray.CreateNew(x * this._engine.getHardwareScalingLevel(), y * this._engine.getHardwareScalingLevel(), viewport.width, viewport.height, world ? world : BABYLON.Matrix.Identity(), camera.getViewMatrix(), camera.getProjectionMatrix());
         };
 

+ 9 - 2
Babylon/babylon.scene.ts

@@ -84,7 +84,7 @@
 
         // Customs render targets
         public renderTargetsEnabled = true;
-        public customRenderTargets = [];
+        public customRenderTargets = new Array<RenderTargetTexture>();
 
         // Delay loading
         public useDelayedTextureLoading: boolean;
@@ -1029,7 +1029,14 @@
 
                 camera = this.activeCamera;
             }
-            var viewport = camera.viewport.toGlobal(engine);
+
+            var cameraViewport = camera.viewport;
+            var viewport = cameraViewport.toGlobal(engine);
+
+            // Moving coordinates to local viewport world
+            x = x - viewport.x;
+            y = y - (this._engine.getRenderHeight() - viewport.y - viewport.height);
+
             return BABYLON.Ray.CreateNew(x * this._engine.getHardwareScalingLevel(), y * this._engine.getHardwareScalingLevel(), viewport.width, viewport.height, world ? world : BABYLON.Matrix.Identity(), camera.getViewMatrix(), camera.getProjectionMatrix());
         }
 

File diff suppressed because it is too large
+ 2 - 2
babylon.1.12-beta.js