有没有专业人士和缺点是在<canvas>而不是<div>上渲染three.js?

时间:2018-06-17 14:02:32

标签: javascript three.js html5-canvas renderer

我在使用以下三个.js示例中看到过:

renderer = new THREE.WebGLRenderer( { canvas: document.querySelector( 'canvas' ) } );

指的是<canvas></canvas>元素。

与此相反:

renderer = new THREE.WebGLRenderer();
var container = getelementbyid("container"):
container.appendChild( renderer.domElement );

指的是<div></div>元素。

在这两种情况下都使用了WebGLRenderer,并且画布也可以设置风格,因此它是完全相同的,还是有任何优点和缺点,比如设备&#39;支持,表现和限制 - 为什么选择一个与另一个?

1 个答案:

答案 0 :(得分:2)

第一个选项适用于想要显式传入自定义画布元素的用户。如果你不这样做,input int referenceDAYinput = 1; int referenceDAYnDaysBACK = max( 0, // FUSED Day() - referenceDAYinput ); static double referenceLEVEL = iOpen( _Symbol, PERIOD_D1, referenceDAYnDaysBACK ); 将在其构造函数中创建一个内部画布(参见here)。

在这两种情况下,referenceDAYinput代表绘图表面,只是对canvas元素的引用。将内部画布附加到DOM是必需的Day()。但是你不必为此使用容器元素。在大多数情况下,WebGLRenderer就足够了。