sevan 8 anni fa
parent
commit
bee6bcc338

+ 6 - 201
Playground/index-local.html

@@ -14,206 +14,8 @@
     <!-- Bootstrap -->
     <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
     <script src="node_modules/monaco-editor/min/vs/loader.js"></script>
-    <!-- Babylon.js -->
-    <script src="../dist/preview release/cannon.js"></script>
-    <script src="../dist/preview release/Oimo.js"></script>
-    <!--<script src="../babylon.js"></script>-->
-    <script src="../src/Math/babylon.math.js"></script>
-    <script src="../src/Tools/babylon.observable.js"></script>
-    <script src="../src/Culling/babylon.ray.js"></script>
-    <script src="../src/States/babylon.alphaCullingState.js"></script>
-    <script src="../src/States/babylon.depthCullingState.js"></script>
-    <script src="../src/States/babylon.stencilState.js"></script>
-    <script src="../src/Tools/babylon.decorators.js"></script>
-    <script src="../src/Tools/babylon.database.js"></script>
-    <script src="../src/Tools/babylon.tools.tga.js"></script>
-    <script src="../src/Tools/babylon.tools.dds.js"></script>
-    <script src="../src/Tools/babylon.smartArray.js"></script>
-    <script src="../src/Tools/babylon.tools.js"></script>
-    <script src="../src/babylon.engine.js"></script>
-    <script src="../src/babylon.node.js"></script>
-    <script src="../src/Mesh/babylon.buffer.js"></script>
-    <script src="../src/Cameras/VR/babylon.vrCameraMetrics.js"></script>
-    <script src="../src/Cameras/babylon.cameraInputsManager.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.arcrotatecamera.input.gamepad.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.arcrotatecamera.input.keyboard.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.arcrotatecamera.input.mousewheel.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.arcrotatecamera.input.pointers.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.freecamera.input.deviceorientation.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.freecamera.input.mouse.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.freecamera.input.touch.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.freecamera.input.keyboard.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.freecamera.input.virtualjoystick.js"></script>
-    <script src="../src/Cameras/Inputs/babylon.freecamera.input.gamepad.js"></script>
-    <script src="../src/Cameras/babylon.freeCameraInputsManager.js"></script>
-    <script src="../src/Cameras/babylon.arcRotateCameraInputsManager.js"></script>
-    <script src="../src/Tools/babylon.filesInput.js"></script>
-    <script src="../src/Collisions/babylon.pickingInfo.js"></script>
-    <script src="../src/Culling/babylon.boundingSphere.js"></script>
-    <script src="../src/Culling/babylon.boundingBox.js"></script>
-    <script src="../src/Culling/babylon.boundingInfo.js"></script>
-    <script src="../src/Mesh/babylon.abstractMesh.js"></script>
-    <script src="../src/Lights/babylon.light.js"></script>
-    <script src="../src/Lights/babylon.pointLight.js"></script>
-    <script src="../src/Lights/babylon.spotLight.js"></script>
-    <script src="../src/Lights/babylon.hemisphericLight.js"></script>
-    <script src="../src/Lights/babylon.directionalLight.js"></script>
-    <script src="../src/Lights/Shadows/babylon.shadowGenerator.js"></script>
-    <script src="../src/Collisions/babylon.collider.js"></script>
-    <script src="../src/Collisions/babylon.collisionCoordinator.js"></script>
-    <script src="../src/Collisions/babylon.collisionWorker.js"></script>
-    <script src="../src/Cameras/babylon.camera.js"></script>
-    <script src="../src/Cameras/babylon.targetCamera.js"></script>
-    <script src="../src/Cameras/babylon.followCamera.js"></script>
-    <script src="../src/Cameras/babylon.freeCamera.js"></script>
-    <script src="../src/Cameras/babylon.touchCamera.js"></script>
-    <script src="../src/Cameras/babylon.arcRotateCamera.js"></script>
-    <script src="../src/Cameras/babylon.deviceOrientationCamera.js"></script>
-    <script src="../src/Cameras/babylon.universalCamera.js"></script>
-    <script src="../src/Tools/babylon.gamepads.js"></script>
-    <script src="../src/Cameras/babylon.gamepadCamera.js"></script>
-    <script src="../src/Rendering/babylon.renderingManager.js"></script>
-    <script src="../src/Rendering/babylon.renderingGroup.js"></script>
-    <script src="../src/babylon.scene.js"></script>
-    <script src="../src/Mesh/babylon.vertexBuffer.js"></script>
-    <script src="../src/Mesh/babylon.InstancedMesh.js"></script>
-    <script src="../src/Mesh/babylon.mesh.js"></script>
-    <script src="../src/Mesh/babylon.groundMesh.js"></script>
-    <script src="../src/Mesh/babylon.subMesh.js"></script>
-    <script src="../src/Mesh/babylon.meshBuilder.js"></script>
-    <script src="../src/Materials/textures/babylon.baseTexture.js"></script>
-    <script src="../src/Materials/textures/babylon.texture.js"></script>
-    <script src="../src/Materials/textures/babylon.cubeTexture.js"></script>
-    <script src="../src/Materials/textures/babylon.renderTargetTexture.js"></script>
-    <script src="../src/Materials/textures/babylon.mirrorTexture.js"></script>
-    <script src="../src/Materials/textures/babylon.dynamicTexture.js"></script>
-    <script src="../src/Materials/textures/babylon.videoTexture.js"></script>
-    <script src="../src/Materials/babylon.effect.js"></script>
-    <script src="../src/Materials/babylon.materialHelper.js"></script>
-    <script src="../src/Materials/babylon.material.js"></script>
-    <script src="../src/Materials/babylon.standardMaterial.js"></script>
-    <script src="../src/Materials/babylon.multiMaterial.js"></script>
-    <script src="../src/Materials/textures/procedurals/babylon.proceduralTexture.js"></script>
-    <script src="../src/Materials/textures/procedurals/babylon.customProceduralTexture.js"></script>
-    <script src="../src/Loading/babylon.sceneLoader.js"></script>
-    <script src="../src/Loading/Plugins/babylon.babylonFileLoader.js"></script>
-    <script src="../src/Sprites/babylon.spriteManager.js"></script>
-    <script src="../src/Sprites/babylon.sprite.js"></script>
-    <script src="../src/Layer/babylon.layer.js"></script>
-    <script src="../src/Particles/babylon.particle.js"></script>
-    <script src="../src/Particles/babylon.particleSystem.js"></script>
-    <script src="../src/Animations/babylon.animation.js"></script>
-    <script src="../src/Animations/babylon.animatable.js"></script>
-    <script src="../src/Animations/babylon.easing.js"></script>
-    <script src="../src/Culling/Octrees/babylon.octree.js"></script>
-    <script src="../src/Culling/Octrees/babylon.octreeBlock.js"></script>
-    <script src="../src/Bones/babylon.bone.js"></script>
-    <script src="../src/Bones/babylon.skeleton.js"></script>
-    <script src="../src/Bones/babylon.skeleton.js"></script>
-    <script src="../src/PostProcess/babylon.postProcess.js"></script>
-    <script src="../src/PostProcess/babylon.postProcessManager.js"></script>
-    <script src="../src/PostProcess/babylon.passPostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.blurPostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.refractionPostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.blackAndWhitePostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.convolutionPostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.filterPostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.fxaaPostProcess.js"></script>
-    <script src="../src/LensFlare/babylon.lensFlare.js"></script>
-    <script src="../src/LensFlare/babylon.lensFlareSystem.js"></script>
-    <script src="../src/Physics/babylon.physicsJoint.js"></script>
-    <script src="../src/Physics/babylon.physicsImpostor.js"></script>
-    <script src="../src/Physics/Plugins/babylon.cannonJSPlugin.js"></script>
-    <script src="../src/Physics/Plugins/babylon.oimoJSPlugin.js"></script>
-    <script src="../src/Physics/babylon.physicsEngine.js"></script>
-    <script src="../src/Tools/babylon.sceneSerializer.js"></script>
-    <script src="../src/Mesh/babylon.csg.js"></script>
-    <script src="../src/PostProcess/babylon.vrDistortionCorrectionPostProcess.js"></script>
-    <script src="../src/Tools/babylon.virtualJoystick.js"></script>
-    <script src="../src/Cameras/babylon.virtualJoysticksCamera.js"></script>
-    <script src="../src/Materials/babylon.shaderMaterial.js"></script>
-    <script src="../src/Mesh/babylon.mesh.vertexData.js"></script>
-    <script src="../src/PostProcess/babylon.anaglyphPostProcess.js"></script>
-    <script src="../src/Tools/babylon.tags.js"></script>
-    <script src="../src/Tools/babylon.andOrNotEvaluator.js"></script>
-    <script src="../src/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js"></script>
-    <script src="../src/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js"></script>
-    <script src="../src/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js"></script>
-    <script src="../src/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js"></script>
-    <script src="../src/PostProcess/babylon.displayPassPostProcess.js"></script>
-    <script src="../src/Rendering/babylon.boundingBoxRenderer.js"></script>
-    <script src="../src/Actions/babylon.condition.js"></script>
-    <script src="../src/Actions/babylon.action.js"></script>
-    <script src="../src/Actions/babylon.actionManager.js"></script>
-    <script src="../src/Actions/babylon.interpolateValueAction.js"></script>
-    <script src="../src/Actions/babylon.directActions.js"></script>
-    <script src="../src/Mesh/babylon.geometry.js"></script>
-    <script src="../src/Mesh/babylon.linesMesh.js"></script>
-    <script src="../src/Rendering/babylon.outlineRenderer.js"></script>
-    <script src="../src/Tools/babylon.assetsManager.js"></script>
-    <script src="../src/Cameras/VR/babylon.vrDeviceOrientationCamera.js"></script>
-    <script src="../src/Cameras/VR/babylon.webVRCamera.js"></script>
-    <script src="../src/Tools/babylon.sceneOptimizer.js"></script>
-    <script src="../src/Mesh/babylon.meshLODLevel.js"></script>
-    <script src="../src/Audio/babylon.audioengine.js"></script>
-    <script src="../src/Audio/babylon.sound.js"></script>
-    <script src="../src/Audio/babylon.analyser.js"></script>
-    <script src="../src/Debug/babylon.debugLayer.js"></script>
-    <script src="../src/Audio/babylon.soundtrack.js"></script>
-    <script src="../src/Materials/Textures/babylon.rawTexture.js"></script>
-    <script src="../src/Mesh/babylon.polygonMesh.js"></script>
-    <script src="../src/Mesh/babylon.meshSimplification.js"></script>
-    <script src="../src/Rendering/babylon.depthRenderer.js"></script>
-    <script src="../src/PostProcess/babylon.ssaoRenderingPipeline.js"></script>
-    <script src="../src/PostProcess/babylon.volumetricLightScatteringPostProcess.js"></script>
-    <script src="../src/PostProcess/babylon.lensRenderingPipeline.js"></script>
-    <script src="../src/PostProcess/babylon.colorCorrectionPostProcess.js"></script>
-    <script src="../src/Tools/babylon.stringDictionary.js"></script>
-    <script src="../src/PostProcess/babylon.stereoscopicInterlacePostProcess.js"></script>
-    <script src="../src/Cameras/babylon.stereoscopicCameras.js"></script>
-    <script src="../src/PostProcess/babylon.hdrRenderingPipeline.js"></script>
-    <script src="../src/Rendering/babylon.edgesRenderer.js"></script>
-    <script src="../src/PostProcess/babylon.tonemapPostProcess.js"></script>
-    <script src="../src/Tools/babylon.loadingScreen.js"></script>
-    <script src="../src/Materials/babylon.pbrMaterial.js"></script>
-    <script src="../src/Probes/babylon.reflectionProbe.js"></script>
-    <script src="../src/Particles/babylon.solidParticle.js"></script>
-    <script src="../src/Particles/babylon.solidParticleSystem.js"></script>
-    <script src="../src/Debug/babylon.skeletonViewer.js"></script>
-    <script src="../src/Materials/Textures/babylon.hdrCubeTexture.js"></script>
-    <script src="../src/Tools/HDR/babylon.tools.cubemapToSphericalPolynomial.js"></script>
-    <script src="../src/Tools/HDR/babylon.tools.hdr.js"></script>
-    <script src="../src/Tools/HDR/babylon.tools.pmremGenerator.js"></script>
-    <script src="../src/Tools/HDR/babylon.tools.panoramaToCubemap.js"></script>
-    <script src="../src/Materials/babylon.fresnelParameters.js"></script>
-    <script src="../dist/preview release/babylon.canvas2d.max.js"></script>
-    <script src="../src/Tools/babylon.dynamicFloatArray.js"></script>
-    <script src="../src/Materials/Textures/babylon.fontTexture.js"></script>
-    <script src="../src/Materials/Textures/babylon.mapTexture.js"></script>
-    <script src="../src/Tools/babylon.rectPackingMap.js"></script>
-    <script src="../src/Materials/babylon.colorCurves.js"></script>
-    <script src="../src/Materials/Textures/babylon.colorGradingTexture.js"></script>
-    <script src="../src/Layer/babylon.highlightlayer.js"></script>
-
-    <script src="../dist/materialsLibrary/babylon.fireMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.waterMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.lavaMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.normalMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.skyMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.triPlanarMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.terrainMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.gradientMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.furMaterial.js"></script>
-    <script src="../dist/materialsLibrary/babylon.gridMaterial.js"></script>
-
-    <script src="../dist/proceduralTexturesLibrary/babylon.brickProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.cloudProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.fireProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.grassProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.marbleProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.roadProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.starfieldProceduralTexture.js"></script>
-    <script src="../dist/proceduralTexturesLibrary/babylon.woodProceduralTexture.js"></script>
+    <!-- Babylon.js -->    
+	<script src="../tools/DevLoader/BabylonLoader.js"></script>
     <link href="index.css" rel="stylesheet" />
 </head>
 <body>
@@ -290,6 +92,9 @@
 
     <script src="http://code.jquery.com/jquery.js"></script>
     <script src="bootstrap/js/bootstrap.min.js"></script>
-    <script src="index.js"></script>
+    <script>
+        BABYLONDEVTOOLS.Loader.require('index.js')
+            .load();
+    </script>
 </body>
 </html>

+ 23 - 6
Tools/DevLoader/BabylonLoader.js

@@ -28,16 +28,24 @@ var BABYLONDEVTOOLS;
 
     var Loader = (function () {
         var queue;
-        var callback = null;
+        var callback;
+        var dependencies;
 
         function Loader() {
             queue = [];
+            dependencies = [];
+            callback = null;
         }
 
         Loader.prototype.onReady = function (callback) {
             this.callback = callback;
         }
 
+        Loader.prototype.require = function (dependencies) {
+            this.dependencies = dependencies;
+            return this;
+        }
+
         Loader.prototype.dequeue = function () {
             if (queue.length == 0) {
                 console.log('Scripts loaded');
@@ -104,25 +112,34 @@ var BABYLONDEVTOOLS;
             }
         }
 
-        Loader.prototype.load = function () {
+        Loader.prototype.load = function (callback) {
             var self = this;
+            if (callback) {
+                self.callback = callback;
+            }
             getJson('/Tools/Gulp/config.json',
                 function(data) {
                     self.loadBJSScripts(data);
+                    
+                    if (typeof self.dependencies === 'string') {
+                        self.loadScript(self.dependencies);
+                    }
+                    else {
+                        self.loadScripts(self.dependencies);
+                    }
+
                     self.dequeue();
                 },
                 function(reason) { 
                     console.error(reason);
-                });
-
+                }
+            );
         };
 
         return Loader;
     }());    
 
     var loader = new Loader();
-    loader.load();
-
     BABYLONDEVTOOLS.Loader = loader;
 
 })(BABYLONDEVTOOLS || (BABYLONDEVTOOLS = {}))

+ 1 - 1
materialsLibrary/index.html

@@ -51,7 +51,7 @@
     <script src="test/addpbr.js"></script>
 	
 	<script>
-	BABYLONDEVTOOLS.Loader.onReady(function() {
+	BABYLONDEVTOOLS.Loader.load(function() {
 		if (BABYLON.Engine.isSupported()) {
 			var canvas = document.getElementById("renderCanvas");
 			var engine = new BABYLON.Engine(canvas, true);

+ 1 - 1
postProcessLibrary/index.html

@@ -41,7 +41,7 @@
 	<canvas id="renderCanvas"></canvas>
 
 	<script>
-	BABYLONDEVTOOLS.Loader.onReady(function() {
+	BABYLONDEVTOOLS.Loader.load(function() {
 		if (BABYLON.Engine.isSupported()) {
 			var canvas = document.getElementById("renderCanvas");
 			var engine = new BABYLON.Engine(canvas, true);

+ 1 - 1
proceduralTexturesLibrary/index.html

@@ -50,7 +50,7 @@
 	<script src="test/addMarblePT.js"></script>
 	<script src="test/addStarfieldPT.js"></script>
 	<script>
-		BABYLONDEVTOOLS.Loader.onReady(function() {
+		BABYLONDEVTOOLS.Loader.load(function() {
 		if (BABYLON.Engine.isSupported()) {
 			var canvas = document.getElementById("renderCanvas");
 			var engine = new BABYLON.Engine(canvas, true);