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

时间:2012-03-21 20:21:18

标签: html5 canvas html5-canvas

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

4 个答案:

答案 0 :(得分:39)

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

答案 1 :(得分:31)

WebGL应为available in the most up-to-date versions of all browsers。使用:

<!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>
  你怎么能用它?我之前尝试过3D,但事实并非如此   理解

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

答案 2 :(得分:20)

可以获得WebGL context,这样可以访问该API,从而实现类似OpenGL ES 2.0的3D渲染。

答案 3 :(得分:12)

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

  

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

Javascript是一种“真正的”编程语言。作为一种高级语言并不能使它成为玩具或假冒(而且这来自于您认为每天用“真实”编程语言编写代码的系统人员。)