WebGPURenderer.js 902 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import Renderer from '../common/Renderer.js';
  2. import WebGLBackend from '../webgl/WebGLBackend.js';
  3. import WebGPUBackend from './WebGPUBackend.js';
  4. import WebGPU from '../../capabilities/WebGPU.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 ( WebGPU.isAvailable() ) {
  18. BackendClass = WebGPUBackend;
  19. } else {
  20. BackendClass = WebGLBackend;
  21. console.warn( 'THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend.' );
  22. }
  23. const backend = new BackendClass( parameters );
  24. //super( new Proxy( backend, debugHandler ) );
  25. super( backend );
  26. this.isWebGPURenderer = true;
  27. }
  28. }
  29. export default WebGPURenderer;