/
WebGPURenderer.js
53 lines (31 loc) · 989 Bytes
/
WebGPURenderer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import WebGPU from '../../capabilities/WebGPU.js';
import Renderer from '../common/Renderer.js';
import WebGLBackend from '../webgl/WebGLBackend.js';
import WebGPUBackend from './WebGPUBackend.js';
/*
const debugHandler = {
get: function ( target, name ) {
// Add |update
if ( /^(create|destroy)/.test( name ) ) console.log( 'WebGPUBackend.' + name );
return target[ name ];
}
};
*/
class WebGPURenderer extends Renderer {
constructor( parameters = {} ) {
let BackendClass;
if ( parameters.forceWebGL ) {
BackendClass = WebGLBackend;
} else if ( WebGPU.isAvailable() ) {
BackendClass = WebGPUBackend;
} else {
BackendClass = WebGLBackend;
console.warn( 'THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend.' );
}
const backend = new BackendClass( parameters );
//super( new Proxy( backend, debugHandler ) );
super( backend, parameters );
this.isWebGPURenderer = true;
}
}
export default WebGPURenderer;