Three.js 浏览器支持
Three.js 浏览器支持
前言
Three.js可以使用WebGL在所有现代浏览器(支持html5)上渲染场景。对于较旧的浏览器,尤其是Internet Explorer 10及其以下版本,您可能必须回退到其他渲染器之一( CSS2DRenderer, CSS3DRenderer, SVGRenderer, CanvasRenderer)。此外,您可能还必须包括一些聚合文件,尤其是在使用/ examples文件夹中的文件时。
注意:如果您不需要支持这些旧浏览器,则不建议使用其他渲染器,因为它们比WebGLRenderer更慢,并且支持的功能更少。
支持WebGL的浏览器
Google Chrome 9+, Firefox 4+, Opera 15+, Safari 5.1+, Internet Explorer 11 and Microsoft Edge.您可以在https://caniuse.com/#feat=webgl找到支持WebGL的浏览器。
用在Three.js中的javascript的功能或WebAPIs
以下是Three.js中使用的一些功能。其中一些功能可能需要额外的polyfills支持
功能 | 使用范围 | 模块 |
Typed Arrays | Source | BufferAttribute, BufferGeometry, etc. |
Web Audio API | Source | Audio, AudioContext, AudioListener, etc. |
WebVR API | Source | WebVRManager, etc. |
Blob | Source | FileLoader, etc. |
Promise | Examples | GLTFLoader, GLTFExporter, WebVR, VREffect, etc. |
Fetch | Examples | ImageBitmapLoader, etc. |
File API | Examples | GLTFExporter, etc. |
URL API | Examples | GLTFLoader, etc. |
Pointer | Lock API | Examples PointerLockControls |
Polyfills
只需根据您的要求导入 polyfills即可。以IE9为例,您至少需要聚合以下功能:
Typed Arrays
Blob
建议的polyfills
core-js
typedarray.js
ES6-Promise
Blob.js
fetch