Three.js检测webgl支持并回退到常规画布 [英] Three.js detect webgl support and fallback to regular canvas
问题描述
任何使用过three.js的人都可以告诉我是否有可能检测到webgl支持,如果不存在,可以回退到标准的Canvas渲染吗?
Can anyone who has used three.js tell me if its possible to detect webgl support, and, if not present, fallback to a standard Canvas render?
推荐答案
是的,这是可能的。您可以使用 CanvasRenderer
代替 WebGLRenderer
。
Yes, it's possible. You can use CanvasRenderer
instead of WebGLRenderer
.
关于WebGL检测:
1)阅读此WebGL维基文章: http://www.khronos.org/webgl/wiki/FAQ
1) Read this WebGL wiki article: http://www.khronos.org/webgl/wiki/FAQ
if (!window.WebGLRenderingContext) {
// the browser doesn't even know what WebGL is
window.location = "http://get.webgl.org";
} else {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("webgl");
if (!context) {
// browser supports WebGL but initialization failed.
window.location = "http://get.webgl.org/troubleshooting";
}
}
2)三。 js已经有一个WebGL检测器:
https://github.com /mrdoob/three.js/blob/master/examples/js/Detector.js
2) Three.js already has a WebGL detector: https://github.com/mrdoob/three.js/blob/master/examples/js/Detector.js
renderer = Detector.webgl? new THREE.WebGLRenderer(): new THREE.CanvasRenderer();
3)检查Modernizr探测器:
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/webgl。 js
3) Check also the Modernizr detector: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/webgl.js
这篇关于Three.js检测webgl支持并回退到常规画布的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!