diff --git a/examples/jsm/renderers/common/Backend.js b/examples/jsm/renderers/common/Backend.js index 79b809f476d684..35c5fc6f7d4510 100644 --- a/examples/jsm/renderers/common/Backend.js +++ b/examples/jsm/renderers/common/Backend.js @@ -1,7 +1,7 @@ let vector2 = null; let vector4 = null; -import { Vector2, Vector4, REVISION } from 'three'; +import { Vector2, Vector4, REVISION, createCanvasElement } from 'three'; class Backend { @@ -118,7 +118,7 @@ class Backend { if ( domElement === null ) { - domElement = ( this.parameters.canvas !== undefined ) ? this.parameters.canvas : this.createCanvasElement(); + domElement = ( this.parameters.canvas !== undefined ) ? this.parameters.canvas : createCanvasElement(); // OffscreenCanvas does not have setAttribute, see #22811 if ( 'setAttribute' in domElement ) domElement.setAttribute( 'data-engine', `three.js r${REVISION}` ); @@ -131,14 +131,6 @@ class Backend { } - createCanvasElement() { - - const canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); - canvas.style.display = 'block'; - return canvas; - - } - // resource properties get( object ) { diff --git a/src/Three.js b/src/Three.js index a44a399d44a7e3..58683c1324a45c 100644 --- a/src/Three.js +++ b/src/Three.js @@ -158,6 +158,7 @@ export { ImageUtils } from './extras/ImageUtils.js'; export { ShapeUtils } from './extras/ShapeUtils.js'; export { PMREMGenerator } from './extras/PMREMGenerator.js'; export { WebGLUtils } from './renderers/webgl/WebGLUtils.js'; +export { createCanvasElement } from './utils.js'; export * from './constants.js'; export * from './Three.Legacy.js'; diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index 9c7bf983fa20ef..4c675bddf54f2a 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -58,15 +58,7 @@ import { WebGLUtils } from './webgl/WebGLUtils.js'; import { WebXRManager } from './webxr/WebXRManager.js'; import { WebGLMaterials } from './webgl/WebGLMaterials.js'; import { WebGLUniformsGroups } from './webgl/WebGLUniformsGroups.js'; -import { createElementNS } from '../utils.js'; - -function createCanvasElement() { - - const canvas = createElementNS( 'canvas' ); - canvas.style.display = 'block'; - return canvas; - -} +import { createCanvasElement } from '../utils.js'; class WebGLRenderer { diff --git a/src/utils.js b/src/utils.js index a71013613bae8d..6fd13ca9dee638 100644 --- a/src/utils.js +++ b/src/utils.js @@ -68,6 +68,14 @@ function createElementNS( name ) { } +function createCanvasElement() { + + const canvas = createElementNS( 'canvas' ); + canvas.style.display = 'block'; + return canvas; + +} + const _cache = {}; function warnOnce( message ) { @@ -80,4 +88,4 @@ function warnOnce( message ) { } -export { arrayMin, arrayMax, arrayNeedsUint32, getTypedArray, createElementNS, warnOnce }; +export { arrayMin, arrayMax, arrayNeedsUint32, getTypedArray, createElementNS, createCanvasElement, warnOnce };