WebGPURenderer.js 989 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import WebGPU from '../../capabilities/WebGPU.js';
  2. import Renderer from '../common/Renderer.js';
  3. import WebGLBackend from '../webgl/WebGLBackend.js';
  4. import WebGPUBackend from './WebGPUBackend.js';
  5. /*
  6. const debugHandler = {
  7. get: function ( target, name ) {
  8. // Add |update
  9. if ( /^(create|destroy)/.test( name ) ) console.log( 'WebGPUBackend.' + name );
  10. return target[ name ];
  11. }
  12. };
  13. */
  14. class WebGPURenderer extends Renderer {
  15. constructor( parameters = {} ) {
  16. let BackendClass;
  17. if ( parameters.forceWebGL ) {
  18. BackendClass = WebGLBackend;
  19. } else if ( WebGPU.isAvailable() ) {
  20. BackendClass = WebGPUBackend;
  21. } else {
  22. BackendClass = WebGLBackend;
  23. console.warn( 'THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend.' );
  24. }
  25. const backend = new BackendClass( parameters );
  26. //super( new Proxy( backend, debugHandler ) );
  27. super( backend, parameters );
  28. this.isWebGPURenderer = true;
  29. }
  30. }
  31. export default WebGPURenderer;