用于webgl渲染器的画布元素的three.js dom id

用于webgl渲染器的画布元素的three.js dom id,dom,canvas,three.js,element,Dom,Canvas,Three.js,Element,我想获取由three.js自动创建的canvas元素的id 或者,如果能够在构建过程中传递一个预先存在的canvas元素id,我也会同样高兴(也许更高兴) 研究之后,我尝试了以下方法: renderer = new THREE.WebGLRenderer( { canvas: my_canvas } ); 没有成功(它来自一个相当古老的版本,但希望它能工作)。也许自2年前以来,某些参数语法发生了变化 (my_canvas是画布的id,也尝试传递上下文,没有运气) 最后我试着: document

我想获取由three.js自动创建的canvas元素的id

或者,如果能够在构建过程中传递一个预先存在的canvas元素id,我也会同样高兴(也许更高兴)

研究之后,我尝试了以下方法:

renderer = new THREE.WebGLRenderer( { canvas: my_canvas } );
没有成功(它来自一个相当古老的版本,但希望它能工作)。也许自2年前以来,某些参数语法发生了变化

(my_canvas是画布的id,也尝试传递上下文,没有运气)

最后我试着:

document.getElementsByTagName('canvas');
什么也没回来。。。这是一个谜题和众所周知的稻草,导致我张贴在这里


感谢您的帮助!(我现在有投票权)

如果查看最新版本(r57)中的three.js/src/renderers/WebGLRenderer.js(位于文件的最顶端),您可以看到实际上可以将画布参数传递给渲染器。如果你没有通过一个,那么一个是为你创造的。您可能需要发布一些不起作用的代码或更好的JSFIDLE,以便我们可以查看问题。

使用
renderer.domeElement
获取与渲染器创建的画布相对应的DOM元素。此外,您可以将画布传递给WebGLRenderer,请参见此处:=>看起来这就是您所做的,根据文件(和源代码),它应该接受一个答案。
var canvas = document.getElementById("canvasID");
renderer = new THREE.WebGLRenderer({ canvas: canvas });