first commit
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