diff --git a/example/gltf.html b/example/gltf.html deleted file mode 100644 index ed381598..00000000 --- a/example/gltf.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - 3D Tiles Renderer 3DTILES_content_gltf Example - - - - - - - diff --git a/example/gltf.js b/example/gltf.js deleted file mode 100644 index e535b598..00000000 --- a/example/gltf.js +++ /dev/null @@ -1,144 +0,0 @@ -import { GLTFExtensionLoader } from '..'; -import { - Scene, - DirectionalLight, - AmbientLight, - WebGLRenderer, - PerspectiveCamera, - PCFSoftShadowMap, -} from 'three'; -import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'; -import { LoadingManager } from 'three'; -import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js'; -import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'; - -let camera, controls, scene, renderer; -let dirLight; - -init(); -animate(); - -function init() { - - scene = new Scene(); - - // primary camera view - renderer = new WebGLRenderer( { antialias: true } ); - renderer.setPixelRatio( window.devicePixelRatio ); - renderer.setSize( window.innerWidth, window.innerHeight ); - renderer.setClearColor( 0x151c1f ); - renderer.shadowMap.enabled = true; - renderer.shadowMap.type = PCFSoftShadowMap; - - document.body.appendChild( renderer.domElement ); - - camera = new PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 4000 ); - camera.position.set( 3, 10, 20 ); - - // controls - controls = new OrbitControls( camera, renderer.domElement ); - controls.screenSpacePanning = false; - controls.minDistance = 1; - controls.maxDistance = 2000; - - // lights - dirLight = new DirectionalLight( 0xffffff, 1.25 ); - dirLight.position.set( 1, 2, 3 ).multiplyScalar( 40 ); - dirLight.castShadow = true; - dirLight.shadow.bias = - 0.01; - dirLight.shadow.mapSize.setScalar( 2048 ); - - const shadowCam = dirLight.shadow.camera; - shadowCam.left = - 200; - shadowCam.bottom = - 200; - shadowCam.right = 200; - shadowCam.top = 200; - shadowCam.updateProjectionMatrix(); - scene.add( dirLight ); - - const ambLight = new AmbientLight( 0xffffff, 0.05 ); - scene.add( ambLight ); - - // basic gltf test files - let insertPosition = 0; - const gltfModelTests = [ - 'https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/CesiumMilkTruck/glTF-Binary/CesiumMilkTruck.glb', - 'https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/CesiumMilkTruck/glTF-Embedded/CesiumMilkTruck.gltf', - 'https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/CesiumMilkTruck/glTF/CesiumMilkTruck.gltf', - ]; - - for ( const url of gltfModelTests ) { - - const loader = new GLTFExtensionLoader(); - loader.workingPath = loader.workingPathForURL( url ); - loader.loadAsync( url ) - .then( res => { - - res.scene.position.set( insertPosition += 5, 0, 0 ); - controls.target.set( insertPosition / 2, 0, 0 ); - controls.update(); - console.log( 'default loader:', { gltf: res, url } ); - scene.add( res.scene ); - - } ); - - } - - // gltf with extensions - const delegatedLoaderTests = [ - 'https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/CesiumMilkTruck/glTF-Draco/CesiumMilkTruck.gltf', - 'https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Box/glTF-Binary/Box.glb', - ]; - - const manager = new LoadingManager(); - const gltfLoader = new GLTFLoader( manager ); - const dracoLoader = new DRACOLoader( manager ); - dracoLoader.setDecoderPath( 'https://unpkg.com/three@0.153.0/examples/jsm/libs/draco/gltf/' ); - gltfLoader.setDRACOLoader( dracoLoader ); - manager.addHandler( /\.gltf$/, gltfLoader ); - manager.addHandler( /\.glb$/, gltfLoader ); - - for ( const url of delegatedLoaderTests ) { - - const loader = new GLTFExtensionLoader( manager ); - loader.workingPath = loader.workingPathForURL( url ); - loader.loadAsync( url ) - .then( res => { - - res.scene.position.set( insertPosition += 5, 0, 0 ); - controls.target.set( insertPosition / 2, 0, 0 ); - controls.update(); - console.log( 'custom loader:', { gltf: res, url } ); - scene.add( res.scene ); - - } ); - - } - - onWindowResize(); - window.addEventListener( 'resize', onWindowResize, false ); - -} - -function onWindowResize() { - - camera.aspect = window.innerWidth / window.innerHeight; - renderer.setPixelRatio( window.devicePixelRatio ); - renderer.setSize( window.innerWidth, window.innerHeight ); - camera.updateProjectionMatrix(); - -} - -function animate() { - - requestAnimationFrame( animate ); - - render(); - -} - -function render() { - - renderer.render( scene, camera ); - -}