代码之家  ›  专栏  ›  技术社区  ›  Eärendil Baggins

使用div和canvas元素作为三.js现场?

  •  1
  • Eärendil Baggins  · 技术社区  · 6 年前

    我读过三.js需要HTML5 <canvas> 元素。不过,我完全可以做一个简单的 <div> WebGLRenderer.domElement 作为HTML层次结构中的子级。奇怪的是,如果我使用 <画布> 而不是 <部门> ,因为整个场景都是黑色的。

    我的理论是 <部门> 如果设置了一个大小,元素就可以像画布一样工作,同时也赋予了元素所有的优势,但是浏览器仍然需要支持HTML5 <画布> 元素,以便正常工作,但我想有更多的知识证实这一点。

    2 回复  |  直到 6 年前
        1
  •  4
  •   corashina    6 年前

    有两种方法。或者附加渲染器的DOM元素(这是一个 <canvas> 元素)添加到另一个DOM元素(如果您查看 <div> 你会发现 <画布> ),或者将引用放在已存在的 <画布> 在渲染器的构造函数中:

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

    在这两种情况下,你将有一个 <

        2
  •  1
  •   Darcy Paterson    6 年前

    三.js使用画布元素自动渲染。如果您可以访问开发人员工具,您将看到它夹在body标记之间。不需要包含div元素或canvas元素。