2012-03-21 35 views
35

Tôi đã đọc về thẻ canvas trong HTML5 và luôn thấy getContext('2d').
Tham số là '2ngày', vì vậy không có khả năng nào khác như '3d'?
Và, bạn có thể sử dụng nó như thế nào? Tôi đã thử 3D trước đây, nhưng không thực sự hiểu (do một hướng dẫn không giải thích). Bất kỳ hướng dẫn nào?Bạn có thể sử dụng canvas.getContext ('3d') không? Nếu có, làm thế nào?

+29

"JavaScript dễ dàng hơn sau đó là ngôn ngữ lập trình thực". Sao may dam! – j08691

+25

Về lâu dài, JavaScript khó hơn chính xác vì thiếu sót. Như những người lớn tuổi nói, "Đưa cho một người đàn ông JavaScript và anh ta sẽ duyệt qua một ngày, dạy một người đàn ông cho JavaScript và anh ta ước anh ta có một hệ thống kiểu." –

+2

'getContext ('4d')' sắp ra mắt –

Trả lời

37

Có ngữ cảnh 3D cho canvas, nhưng không được gọi là "3d", nhưng là WebGL ("webgl").

+7

Rất tiếc, tôi không thấy rằng Peter có cùng câu trả lời được đăng một vài giây trước đó. Vui lòng chấp nhận câu trả lời của mình nếu bạn hài lòng với cả hai. – denisw

11

Ngữ cảnh 3D chưa được triển khai trong hầu hết các trình duyệt. Tôi tin rằng có một phiên bản thử nghiệm của Opera cung cấp một phiên bản, và một addon cho FF cũng giống như vậy, nhưng không có phiên bản nào trong số đó sẵn sàng cho giờ vàng. Bạn sẽ phải chờ đợi để áp dụng rộng rãi và thực hiện.

và tôi nghĩ rằng JavaScript là dễ dàng hơn sau đó một chương trình thực ngôn ngữ

Javascript là một ngôn ngữ lập trình 'thực tế'. Là một ngôn ngữ cấp cao không làm cho nó trở thành đồ chơi hay giả mạo (và điều này đến từ một anh chàng hệ thống, theo ý kiến ​​của bạn, viết mã bằng các ngôn ngữ lập trình "thực" mỗi ngày).

+4

Trong khi nó thực sự là thật, tôi ước nó không phải. –

+1

@Zekian: Nếu tôi bị buộc phải sử dụng, tôi chắc chắn tôi sẽ cảm thấy giống nhau –

+1

Tôi nghĩ WebGL được hỗ trợ trong hầu hết các trình duyệt (bao gồm cả thiết bị di động) ngoại trừ IE. Đọc tại đây https://www.ichemlabs.com/1375. – Lucky

18

Có thể nhận được WebGL context, điều này sẽ cấp cho bạn quyền truy cập vào API đó, cho phép hiển thị 3D giống như OpenGL ES 2.0.

26

WebGL phải là available in the most up-to-date versions of all browsers. Sử dụng:

<!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> 

cách bạn có thể sử dụng? Tôi cố gắng 3D trước đó, nhưng không thực sự hiểu

  • nếu bạn nghĩ ngôn ngữ "thực" rất khó, bạn sẽ có rất nhiều rắc rối với WebGL. Ở một số khía cạnh, nó khá cao, ở khía cạnh khác, nó khá thấp. Bạn nên đánh vào toán học của bạn (hình học) và chuẩn bị cho một số công việc khó khăn.
  • three.js là một thư viện được đánh giá cao, cho phép bạn thực hiện nhiều thao tác 3D mà không cần xử lý trực tiếp với webgl, hãy kiểm tra.
Các vấn đề liên quan