Skip to content

Commit 78d015a

Browse files
committed
Keep WebGLRenderer as the default, add 'npm run start:webgpu' command to use WebGPURenderer
1 parent 40f4047 commit 78d015a

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"prerelease": "node scripts/release.js 1.5.0 1.6.0",
2828
"start": "npm run dev",
2929
"start:https": "npm run dev -- --server-type https",
30+
"start:webgpu": "cross-env WEBGPU=true npm run dev -- --server-type https",
3031
"test": "karma start ./tests/karma.conf.js",
3132
"test:docs": "node scripts/docsLint.js",
3233
"test:firefox": "npm test -- --browsers Firefox",

src/core/scene/a-scene.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,10 @@ export class AScene extends AEntity {
547547
};
548548
}
549549

550-
renderer = this.renderer = new THREE.WebGPURenderer(rendererConfig);
551-
renderer.xr.setPoseTarget = function () {};
550+
renderer = this.renderer = new (THREE.WebGLRenderer || THREE.WebGPURenderer)(rendererConfig);
551+
if (!renderer.xr.setPoseTarget) {
552+
renderer.xr.setPoseTarget = function () {};
553+
}
552554
renderer.setPixelRatio(window.devicePixelRatio);
553555

554556
if (this.camera) { renderer.xr.setPoseTarget(this.camera.el.object3D); }

src/lib/three.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// eslint-disable-next-line import/extensions
2-
import * as SUPER_THREE from 'three/webgpu';
2+
import * as SUPER_THREE from 'three';
33
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
44
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
55
import { KTX2Loader } from 'three/addons/loaders/KTX2Loader.js';

webpack.common.cjs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
var path = require('path');
12
var webpack = require('webpack');
23

3-
module.exports = {
4+
var config = {
45
entry: './src/index.js',
56
devtool: 'source-map',
67
plugins: [
@@ -28,3 +29,13 @@ module.exports = {
2829
]
2930
}
3031
};
32+
33+
if (process.env.WEBGPU === 'true') {
34+
config.resolve = {
35+
alias: {
36+
'three$': path.resolve(__dirname, 'node_modules/three/build/three.webgpu.js')
37+
}
38+
};
39+
}
40+
41+
module.exports = config;

0 commit comments

Comments
 (0)