|
@@ -15,15 +15,24 @@
|
|
import * as THREE from '../build/three.module.js';
|
|
import * as THREE from '../build/three.module.js';
|
|
|
|
|
|
import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
|
|
import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
|
|
|
|
+ import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
|
|
|
|
|
|
let camera, scene, renderer;
|
|
let camera, scene, renderer;
|
|
|
|
|
|
let mesh;
|
|
let mesh;
|
|
|
|
|
|
- init().then( animate );
|
|
|
|
|
|
+ init().then( animate ).catch( onInitError );
|
|
|
|
|
|
async function init() {
|
|
async function init() {
|
|
|
|
|
|
|
|
+ if ( WebGPU.isAvailable() === false ) {
|
|
|
|
+
|
|
|
|
+ document.body.appendChild( WebGPU.getErrorMessage() );
|
|
|
|
+
|
|
|
|
+ throw 'No WebGPU support';
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.1, 10 );
|
|
camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.1, 10 );
|
|
camera.position.z = 4;
|
|
camera.position.z = 4;
|
|
|
|
|
|
@@ -93,6 +102,12 @@
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function onInitError( error ) {
|
|
|
|
+
|
|
|
|
+ console.error( error );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
</script>
|
|
</script>
|
|
</body>
|
|
</body>
|
|
</html>
|
|
</html>
|