我开始学习WebGL,因为我找到了一些旧的教程,所以我不知道2014年的正确方式是什么?
我开始使用<canvas>
(基础),在教程中他们说:
使用
getContext('2d')
,如果你想用WebGL那么就把2d
替换成3d
但是现在我发现一些新的教程在谈论getContext('webgl')
而不是getContext('3d')
。
语法改变了吗?
还有这篇文章说没有真正的3D,他们只是在使用光线投射?!
if (window.WebGLRenderingContext) {
// browser supports WebGL
}
如果浏览器支持WebGL且canvas.getContext("webgl")返回null,则表示WebGL失败,原因可能是用户的浏览器不支持(没有GPU,内存不足等)以外的其他原因。
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 ctx = canvas.getContext("webgl");
if (!ctx) {
// browser supports WebGL but initialization failed.
window.location = "http://get.webgl.org/troubleshooting";
}
}
<html>
<body>
<script type="text/javascript" src="localpath/webgl-utils.js"></script>
<script>
function init() {
canvas = document.getElementById("c");
gl = WebGLUtils.setupWebGL(canvas);
if (!gl) {
return;
}
...
}
window.onload = init;
</script>
<canvas id="c"></canvas>
</body>
</html>
3d
,那么关于画布伪造3D以仅使用2D的文章呢?是因为它是一篇旧文章吗? - Abdelouahab
webgl
和experimental-webgl
。 - IMSoP'3d'
上下文。你有一个'3d'
被推荐的例子吗?也许作者只是在猜测,因为最初只有'2d'
是唯一的选择。 - IMSoP