From 95e506d50dcb72b3714f8ecba17918a8e713f38b Mon Sep 17 00:00:00 2001 From: Jeroen Claessens Date: Wed, 16 Oct 2024 11:11:34 +0200 Subject: [PATCH] feat: add engine field to easier debug if running on webgl or webgpu --- src/renderers/common/Info.js | 8 +++++++- src/renderers/webgpu/WebGPURenderer.Nodes.js | 5 +++++ src/renderers/webgpu/WebGPURenderer.js | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/renderers/common/Info.js b/src/renderers/common/Info.js index 2de51487092447..153730e349c3a3 100644 --- a/src/renderers/common/Info.js +++ b/src/renderers/common/Info.js @@ -1,6 +1,6 @@ class Info { - constructor() { + constructor( engine ) { this.autoReset = true; @@ -32,6 +32,12 @@ class Info { textures: 0 }; + if ( engine ) { + + this.engine = engine; + + } + } update( object, count, instanceCount ) { diff --git a/src/renderers/webgpu/WebGPURenderer.Nodes.js b/src/renderers/webgpu/WebGPURenderer.Nodes.js index 2f2dae57f561af..70a4ec7a9521fe 100644 --- a/src/renderers/webgpu/WebGPURenderer.Nodes.js +++ b/src/renderers/webgpu/WebGPURenderer.Nodes.js @@ -1,4 +1,5 @@ import Renderer from '../common/Renderer.js'; +import Info from '../common/Info.js'; import WebGLBackend from '../webgl-fallback/WebGLBackend.js'; import WebGPUBackend from './WebGPUBackend.js'; import BasicNodeLibrary from './nodes/BasicNodeLibrary.js'; @@ -21,6 +22,8 @@ class WebGPURenderer extends Renderer { console.warn( 'THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend.' ); + this.info = new Info( 'webgl' ); + return new WebGLBackend( parameters ); }; @@ -35,6 +38,8 @@ class WebGPURenderer extends Renderer { this.isWebGPURenderer = true; + this.info = new Info( BackendClass instanceof WebGPUBackend ? 'webgpu' : 'webgl' ); + } } diff --git a/src/renderers/webgpu/WebGPURenderer.js b/src/renderers/webgpu/WebGPURenderer.js index c8ddb67cf638be..65aabe238348d0 100644 --- a/src/renderers/webgpu/WebGPURenderer.js +++ b/src/renderers/webgpu/WebGPURenderer.js @@ -1,4 +1,5 @@ import Renderer from '../common/Renderer.js'; +import Info from '../common/Info.js'; import WebGLBackend from '../webgl-fallback/WebGLBackend.js'; import WebGPUBackend from './WebGPUBackend.js'; import StandardNodeLibrary from './nodes/StandardNodeLibrary.js'; @@ -34,6 +35,8 @@ class WebGPURenderer extends Renderer { console.warn( 'THREE.WebGPURenderer: WebGPU is not available, running under WebGL2 backend.' ); + this.info = new Info( 'webgl' ); + return new WebGLBackend( parameters ); }; @@ -49,6 +52,8 @@ class WebGPURenderer extends Renderer { this.isWebGPURenderer = true; + this.info = new Info( BackendClass instanceof WebGPUBackend ? 'webgpu' : 'webgl' ); + } }