你可以使用canvas.getContext('3d')吗?如果有,怎么样?

116*_*684 41 html5 canvas html5-canvas

我在HTML5中阅读了canvas标签,并且总是看到getContext('2d').
参数是'2d',所以不存在像'3d'这样的另一种可能性吗?
而且,你怎么能用它呢?我之前尝试过3D,但并没有真正理解(由于非解释性教程).任何教程?

Den*_*ton 42

画布有一个3D上下文,但它不叫"3d",而是WebGL("webgl").

  • 哎呀,我没有看到彼得在几秒前发布了相同的答案.如果您对两者都满意,请接受他的回答. (7认同)

Ste*_*eve 32

WebGL应该在所有浏览器的最新版本中可用.使用:

<!DOCTYPE html>
<html>
 <body>
 <canvas id='c'></canvas>
  <script>
    var c = document.getElementById('c');
    var gl = c.getContext('webgl') || c.getContext("experimental-webgl");
    gl.clearColor(0,0,0.8,1);
    gl.clear(gl.COLOR_BUFFER_BIT);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

你怎么能用那个?我之前尝试过3D,但并没有真正理解

  • 如果您认为"真正的"语言很难,那么WebGL会遇到很多麻烦.在某些方面它是相当高的水平,在其他方面它是相当低的水平.你应该仔细研究你的数学(几何学)并做好一些艰苦的工作.
  • three.js是一个非常受欢迎的库,它可以让你在没有直接处理webgl的情况下完成很多3d,查看它.


Pet*_*ter 20

可以获得WebGL上下文,这将允许您访问该API,允许类似OpenGL ES 2.0的3D渲染.


Ed *_* S. 12

大多数浏览器尚未实现3d上下文.我相信有一个实验版本的Opera可以提供一个,而一个FF的插件也是如此,但它们都没有为黄金时段做好准备.您将不得不等待广泛采用和实施.

我认为JavaScript比真正的编程语言更容易

Javascript是一种"真正的"编程语言.作为一种高级语言并不能使它成为玩具或假冒(这是来自一个系统的人,在你看来,他每天用"真正的"编程语言编写代码).

  • 虽然确实如此,但我希望不是.</笑话> (4认同)