|
@@ -10,284 +10,7 @@ except ImportError:
|
|
|
import os
|
|
|
import tempfile
|
|
|
import sys
|
|
|
-
|
|
|
-COMMON_FILES = [
|
|
|
-'Three.js',
|
|
|
-'core/Clock.js',
|
|
|
-'core/Color.js',
|
|
|
-'core/Vector2.js',
|
|
|
-'core/Vector3.js',
|
|
|
-'core/Vector4.js',
|
|
|
-'core/EventTarget.js',
|
|
|
-'core/Frustum.js',
|
|
|
-'core/Ray.js',
|
|
|
-'core/Rectangle.js',
|
|
|
-'core/Math.js',
|
|
|
-'core/Matrix3.js',
|
|
|
-'core/Matrix4.js',
|
|
|
-'core/Object3D.js',
|
|
|
-'core/Projector.js',
|
|
|
-'core/Quaternion.js',
|
|
|
-'core/Vertex.js',
|
|
|
-'core/Face3.js',
|
|
|
-'core/Face4.js',
|
|
|
-'core/UV.js',
|
|
|
-'core/Geometry.js',
|
|
|
-'core/Spline.js',
|
|
|
-'cameras/Camera.js',
|
|
|
-'cameras/OrthographicCamera.js',
|
|
|
-'cameras/PerspectiveCamera.js',
|
|
|
-'lights/Light.js',
|
|
|
-'lights/AmbientLight.js',
|
|
|
-'lights/DirectionalLight.js',
|
|
|
-'lights/PointLight.js',
|
|
|
-'lights/SpotLight.js',
|
|
|
-'loaders/Loader.js',
|
|
|
-'loaders/BinaryLoader.js',
|
|
|
-'loaders/ImageLoader.js',
|
|
|
-'loaders/JSONLoader.js',
|
|
|
-'loaders/GeometryLoader.js',
|
|
|
-'loaders/SceneLoader.js',
|
|
|
-'loaders/TextureLoader.js',
|
|
|
-'materials/Material.js',
|
|
|
-'materials/LineBasicMaterial.js',
|
|
|
-'materials/MeshBasicMaterial.js',
|
|
|
-'materials/MeshLambertMaterial.js',
|
|
|
-'materials/MeshPhongMaterial.js',
|
|
|
-'materials/MeshDepthMaterial.js',
|
|
|
-'materials/MeshNormalMaterial.js',
|
|
|
-'materials/MeshFaceMaterial.js',
|
|
|
-'materials/ParticleBasicMaterial.js',
|
|
|
-'materials/ParticleCanvasMaterial.js',
|
|
|
-'materials/ParticleDOMMaterial.js',
|
|
|
-'materials/ShaderMaterial.js',
|
|
|
-'textures/Texture.js',
|
|
|
-'textures/DataTexture.js',
|
|
|
-'objects/Particle.js',
|
|
|
-'objects/ParticleSystem.js',
|
|
|
-'objects/Line.js',
|
|
|
-'objects/Mesh.js',
|
|
|
-'objects/Bone.js',
|
|
|
-'objects/SkinnedMesh.js',
|
|
|
-'objects/MorphAnimMesh.js',
|
|
|
-'objects/Ribbon.js',
|
|
|
-'objects/LOD.js',
|
|
|
-'objects/Sprite.js',
|
|
|
-'scenes/Scene.js',
|
|
|
-'scenes/Fog.js',
|
|
|
-'scenes/FogExp2.js',
|
|
|
-'renderers/CanvasRenderer.js',
|
|
|
-'renderers/WebGLShaders.js',
|
|
|
-'renderers/WebGLRenderer.js',
|
|
|
-'renderers/WebGLRenderTarget.js',
|
|
|
-'renderers/WebGLRenderTargetCube.js',
|
|
|
-'renderers/renderables/RenderableVertex.js',
|
|
|
-'renderers/renderables/RenderableFace3.js',
|
|
|
-'renderers/renderables/RenderableFace4.js',
|
|
|
-'renderers/renderables/RenderableObject.js',
|
|
|
-'renderers/renderables/RenderableParticle.js',
|
|
|
-'renderers/renderables/RenderableLine.js'
|
|
|
-]
|
|
|
-
|
|
|
-EXTRAS_FILES = [
|
|
|
-'extras/ColorUtils.js',
|
|
|
-'extras/GeometryUtils.js',
|
|
|
-'extras/ImageUtils.js',
|
|
|
-'extras/SceneUtils.js',
|
|
|
-'extras/ShaderUtils.js',
|
|
|
-'extras/FontUtils.js',
|
|
|
-'extras/core/BufferGeometry.js',
|
|
|
-'extras/core/Curve.js',
|
|
|
-'extras/core/CurvePath.js',
|
|
|
-'extras/core/Gyroscope.js',
|
|
|
-'extras/core/Path.js',
|
|
|
-'extras/core/Shape.js',
|
|
|
-'extras/animation/AnimationHandler.js',
|
|
|
-'extras/animation/Animation.js',
|
|
|
-'extras/animation/KeyFrameAnimation.js',
|
|
|
-'extras/cameras/CubeCamera.js',
|
|
|
-'extras/cameras/CombinedCamera.js',
|
|
|
-'extras/controls/FirstPersonControls.js',
|
|
|
-'extras/controls/PathControls.js',
|
|
|
-'extras/controls/FlyControls.js',
|
|
|
-'extras/controls/RollControls.js',
|
|
|
-'extras/controls/TrackballControls.js',
|
|
|
-'extras/controls/OrbitControls.js',
|
|
|
-'extras/geometries/CubeGeometry.js',
|
|
|
-'extras/geometries/CylinderGeometry.js',
|
|
|
-'extras/geometries/ExtrudeGeometry.js',
|
|
|
-'extras/geometries/LatheGeometry.js',
|
|
|
-'extras/geometries/PlaneGeometry.js',
|
|
|
-'extras/geometries/SphereGeometry.js',
|
|
|
-'extras/geometries/TextGeometry.js',
|
|
|
-'extras/geometries/TorusGeometry.js',
|
|
|
-'extras/geometries/TorusKnotGeometry.js',
|
|
|
-'extras/geometries/TubeGeometry.js',
|
|
|
-'extras/geometries/PolyhedronGeometry.js',
|
|
|
-'extras/geometries/IcosahedronGeometry.js',
|
|
|
-'extras/geometries/OctahedronGeometry.js',
|
|
|
-'extras/geometries/TetrahedronGeometry.js',
|
|
|
-'extras/geometries/ParametricGeometry.js',
|
|
|
-'extras/geometries/ConvexGeometry.js',
|
|
|
-'extras/helpers/AxisHelper.js',
|
|
|
-'extras/helpers/ArrowHelper.js',
|
|
|
-'extras/helpers/CameraHelper.js',
|
|
|
-'extras/modifiers/SubdivisionModifier.js',
|
|
|
-'extras/objects/ImmediateRenderObject.js',
|
|
|
-'extras/objects/LensFlare.js',
|
|
|
-'extras/objects/MorphBlendMesh.js',
|
|
|
-'extras/renderers/plugins/LensFlarePlugin.js',
|
|
|
-'extras/renderers/plugins/ShadowMapPlugin.js',
|
|
|
-'extras/renderers/plugins/SpritePlugin.js',
|
|
|
-'extras/renderers/plugins/DepthPassPlugin.js',
|
|
|
-'extras/shaders/ShaderFlares.js',
|
|
|
-'extras/shaders/ShaderSprite.js'
|
|
|
-]
|
|
|
-
|
|
|
-CANVAS_FILES = [
|
|
|
-'Three.js',
|
|
|
-'core/Color.js',
|
|
|
-'core/Vector2.js',
|
|
|
-'core/Vector3.js',
|
|
|
-'core/Vector4.js',
|
|
|
-'core/EventTarget.js',
|
|
|
-'core/Frustum.js',
|
|
|
-'core/Ray.js',
|
|
|
-'core/Rectangle.js',
|
|
|
-'core/Math.js',
|
|
|
-'core/Matrix3.js',
|
|
|
-'core/Matrix4.js',
|
|
|
-'core/Object3D.js',
|
|
|
-'core/Projector.js',
|
|
|
-'core/Quaternion.js',
|
|
|
-'core/Vertex.js',
|
|
|
-'core/Face3.js',
|
|
|
-'core/Face4.js',
|
|
|
-'core/UV.js',
|
|
|
-'core/Geometry.js',
|
|
|
-'cameras/Camera.js',
|
|
|
-'cameras/OrthographicCamera.js',
|
|
|
-'cameras/PerspectiveCamera.js',
|
|
|
-'lights/Light.js',
|
|
|
-'lights/AmbientLight.js',
|
|
|
-'lights/DirectionalLight.js',
|
|
|
-'lights/PointLight.js',
|
|
|
-'loaders/Loader.js',
|
|
|
-'loaders/BinaryLoader.js',
|
|
|
-'loaders/ImageLoader.js',
|
|
|
-'loaders/JSONLoader.js',
|
|
|
-'loaders/GeometryLoader.js',
|
|
|
-'loaders/SceneLoader.js',
|
|
|
-'loaders/TextureLoader.js',
|
|
|
-'materials/Material.js',
|
|
|
-'materials/LineBasicMaterial.js',
|
|
|
-'materials/MeshBasicMaterial.js',
|
|
|
-'materials/MeshLambertMaterial.js',
|
|
|
-'materials/MeshPhongMaterial.js',
|
|
|
-'materials/MeshDepthMaterial.js',
|
|
|
-'materials/MeshNormalMaterial.js',
|
|
|
-'materials/MeshFaceMaterial.js',
|
|
|
-'materials/ParticleBasicMaterial.js',
|
|
|
-'materials/ParticleCanvasMaterial.js',
|
|
|
-'textures/Texture.js',
|
|
|
-'textures/DataTexture.js',
|
|
|
-'objects/Particle.js',
|
|
|
-'objects/Line.js',
|
|
|
-'objects/Mesh.js',
|
|
|
-'objects/Bone.js',
|
|
|
-'objects/Sprite.js',
|
|
|
-'scenes/Scene.js',
|
|
|
-'renderers/CanvasRenderer.js',
|
|
|
-'renderers/renderables/RenderableVertex.js',
|
|
|
-'renderers/renderables/RenderableFace3.js',
|
|
|
-'renderers/renderables/RenderableFace4.js',
|
|
|
-'renderers/renderables/RenderableObject.js',
|
|
|
-'renderers/renderables/RenderableParticle.js',
|
|
|
-'renderers/renderables/RenderableLine.js'
|
|
|
-]
|
|
|
-
|
|
|
-WEBGL_FILES = [
|
|
|
-'Three.js',
|
|
|
-'core/Color.js',
|
|
|
-'core/Vector2.js',
|
|
|
-'core/Vector3.js',
|
|
|
-'core/Vector4.js',
|
|
|
-'core/EventTarget.js',
|
|
|
-'core/Frustum.js',
|
|
|
-'core/Ray.js',
|
|
|
-'core/Rectangle.js',
|
|
|
-'core/Math.js',
|
|
|
-'core/Matrix3.js',
|
|
|
-'core/Matrix4.js',
|
|
|
-'core/Object3D.js',
|
|
|
-'core/Projector.js',
|
|
|
-'core/Quaternion.js',
|
|
|
-'core/Vertex.js',
|
|
|
-'core/Face3.js',
|
|
|
-'core/Face4.js',
|
|
|
-'core/UV.js',
|
|
|
-'core/Geometry.js',
|
|
|
-'core/Spline.js',
|
|
|
-'cameras/Camera.js',
|
|
|
-'cameras/OrthographicCamera.js',
|
|
|
-'cameras/PerspectiveCamera.js',
|
|
|
-'lights/Light.js',
|
|
|
-'lights/AmbientLight.js',
|
|
|
-'lights/DirectionalLight.js',
|
|
|
-'lights/PointLight.js',
|
|
|
-'lights/SpotLight.js',
|
|
|
-'loaders/Loader.js',
|
|
|
-'loaders/BinaryLoader.js',
|
|
|
-'loaders/ImageLoader.js',
|
|
|
-'loaders/JSONLoader.js',
|
|
|
-'loaders/GeometryLoader.js',
|
|
|
-'loaders/SceneLoader.js',
|
|
|
-'loaders/TextureLoader.js',
|
|
|
-'materials/Material.js',
|
|
|
-'materials/LineBasicMaterial.js',
|
|
|
-'materials/MeshBasicMaterial.js',
|
|
|
-'materials/MeshLambertMaterial.js',
|
|
|
-'materials/MeshPhongMaterial.js',
|
|
|
-'materials/MeshDepthMaterial.js',
|
|
|
-'materials/MeshNormalMaterial.js',
|
|
|
-'materials/MeshFaceMaterial.js',
|
|
|
-'materials/ParticleBasicMaterial.js',
|
|
|
-'materials/ShaderMaterial.js',
|
|
|
-'textures/Texture.js',
|
|
|
-'textures/DataTexture.js',
|
|
|
-'objects/Particle.js',
|
|
|
-'objects/ParticleSystem.js',
|
|
|
-'objects/Line.js',
|
|
|
-'objects/Mesh.js',
|
|
|
-'objects/Bone.js',
|
|
|
-'objects/SkinnedMesh.js',
|
|
|
-'objects/Ribbon.js',
|
|
|
-'objects/LOD.js',
|
|
|
-'objects/Sprite.js',
|
|
|
-'scenes/Scene.js',
|
|
|
-'scenes/Fog.js',
|
|
|
-'scenes/FogExp2.js',
|
|
|
-'renderers/WebGLShaders.js',
|
|
|
-'renderers/WebGLRenderer.js',
|
|
|
-'renderers/WebGLRenderTarget.js',
|
|
|
-'renderers/WebGLRenderTargetCube.js',
|
|
|
-'renderers/renderables/RenderableVertex.js',
|
|
|
-'renderers/renderables/RenderableFace3.js',
|
|
|
-'renderers/renderables/RenderableFace4.js',
|
|
|
-'renderers/renderables/RenderableObject.js',
|
|
|
-'renderers/renderables/RenderableParticle.js',
|
|
|
-'renderers/renderables/RenderableLine.js',
|
|
|
-'extras/core/BufferGeometry.js',
|
|
|
-'extras/core/Gyroscope.js',
|
|
|
-'extras/helpers/CameraHelper.js',
|
|
|
-'extras/objects/LensFlare.js',
|
|
|
-'extras/objects/ImmediateRenderObject.js',
|
|
|
-'extras/renderers/plugins/LensFlarePlugin.js',
|
|
|
-'extras/renderers/plugins/ShadowMapPlugin.js',
|
|
|
-'extras/renderers/plugins/SpritePlugin.js',
|
|
|
-'extras/shaders/ShaderFlares.js',
|
|
|
-'extras/shaders/ShaderSprite.js'
|
|
|
-]
|
|
|
+import json
|
|
|
|
|
|
def merge(files):
|
|
|
|
|
@@ -377,6 +100,14 @@ def buildIncludes(files, filename):
|
|
|
text = "\n".join(template % f for f in files)
|
|
|
|
|
|
output(text, filename + '.js')
|
|
|
+
|
|
|
+def getFileNames():
|
|
|
+
|
|
|
+ file = open(os.path.join('.', 'files.json'), 'r')
|
|
|
+ data = json.load(file)
|
|
|
+ file.close()
|
|
|
+
|
|
|
+ return data
|
|
|
|
|
|
|
|
|
def parse_args():
|
|
@@ -420,12 +151,13 @@ def main(argv=None):
|
|
|
args = parse_args()
|
|
|
debug = args.debug
|
|
|
minified = args.minified
|
|
|
+ files = getFileNames()
|
|
|
|
|
|
config = [
|
|
|
- ['Three', 'includes', '', COMMON_FILES + EXTRAS_FILES, args.common],
|
|
|
- ['ThreeCanvas', 'includes_canvas', '', CANVAS_FILES, args.canvas],
|
|
|
- ['ThreeWebGL', 'includes_webgl', '', WEBGL_FILES, args.webgl],
|
|
|
- ['ThreeExtras', 'includes_extras', 'externs_extras', EXTRAS_FILES, args.extras]
|
|
|
+ ['Three', 'includes', '', files["COMMON"] + files["EXTRAS"], args.common],
|
|
|
+ ['ThreeCanvas', 'includes_canvas', '', files["CANVAS"], args.canvas],
|
|
|
+ ['ThreeWebGL', 'includes_webgl', '', files["WEBGL"], args.webgl],
|
|
|
+ ['ThreeExtras', 'includes_extras', 'externs_extras', files["EXTRAS"], args.extras]
|
|
|
]
|
|
|
|
|
|
for fname_lib, fname_inc, fname_externs, files, enabled in config:
|