2012-03-21 67 views
35

我閱讀了HTML5中的畫布標籤,並總是看到getContext('2d')
參數是'2d',所以沒有像'3d'那樣的其他可能性?
而且,你怎麼能使用它?我之前嘗試過3D,但並沒有真正理解(由於未解釋的教程)。任何教程?你可以使用canvas.getContext('3d')嗎?如果是,如何?

+29

」JavaScript比真正的編程語言更容易「。你怎麼敢! – j08691 2012-03-21 20:25:19

+25

從長遠來看,JavaScript正是因爲缺少的東西而變得更難。正如長老們所說,「給一個人JavaScript,他會瀏覽一天,教一個人JavaScript,他希望他有一個類型系統。」 – 2012-03-21 20:29:54

+2

'getContext('4d')'即將推出 – 2017-07-17 02:48:36

回答

37

畫布有3D上下文,但它不叫「3d」,但是WebGL(「webgl」)。

+7

糟糕,我沒有看到Peter在幾秒前發佈了相同的答案。如果你對兩者都滿意,請接受他的回答。 – denisw 2012-03-21 20:34:25

11

3d上下文尚未在大多數瀏覽器中實現。我相信有一個Opera的實驗版本提供了一個,而FF的插件也是這樣做的,但是沒有一個可以用於黃金時段。你必須等待廣泛的採用和實施。

,我認爲JavaScript是更容易那麼真正的編程語言

JavaScript是一種「真正」的編程語言。作爲一種高級語言並不會使它成爲玩具或假冒(這是來自系統人員,你認爲每天都以「真實」的編程語言編寫代碼)。

+4

雖然它確實是真的,但我希望它不是。 – 2015-08-18 19:03:28

+1

@Zekian:如果我被迫使用它,我相信我會覺得一樣 – 2015-08-18 19:16:25

+1

我認爲除了IE以外,大多數瀏覽器(包括手機)都支持WebGL。在這裏閱讀https://www.ichemlabs.com/1375。 – Lucky 2015-12-23 07:39:07

18

有可能得到一個WebGL context,它可以讓你訪問該API,允許OpenGL ES 2.0類似的3D渲染。

26

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工作,查看它。 「
相關問題