最新代码
This commit is contained in:
53
public/sdk/three/jsm/renderers/webgpu/WebGPURenderer.js
Normal file
53
public/sdk/three/jsm/renderers/webgpu/WebGPURenderer.js
Normal file
@ -0,0 +1,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;
|
Reference in New Issue
Block a user