Tôi biết đây là 2 năm nhưng tôi nghĩ tôi sẽ đăng bài này ở đây cho độc giả trong tương lai.
Điều gì sẽ tùy thuộc vào những gì bạn cần.
Bạn có cần hình dạng 3D đơn giản không có hoặc ít hoạt ảnh không? Hãy thử nếu bạn có thể làm điều đó với CSS3, đó là dễ nhất cho đến nay. Đối với IE, bạn có thể nhận được một thư viện cung cấp hỗ trợ.
Bạn có cần một số mô hình 3D ngọt ngào với đồ họa đẹp và có thể làm đủ mọi thứ không? Truy cập WebGL, bạn không thể yêu cầu kiểm soát nhiều hơn và hiệu suất cho 3d trong trình duyệt.
Bạn có cần hình dạng 3D có thể làm đủ mọi thứ, nhưng không cần kết cấu và sẽ hoạt động ở mọi nơi và sẽ không yêu cầu nhiều hiệu suất? Truy cập Canvas.
CSS3 chỉ dành cho mắt kẹo. Bạn có thể làm cho nó khá dễ dàng, phong cách nó theo bất kỳ cách nào bạn muốn và rất dễ bảo trì. Một khi bạn muốn làm nhiều hơn là chỉ kẹo mắt, đeo găng tay của bạn bởi vì đó là gonna reuire một số công việc.
Với Canvas 2d, bạn có thể tạo nội dung 3D. Nếu bạn mới dùng nó, nó sẽ rất khó chịu và phức tạp (để đặt tên một ví dụ; bạn cần phải biết về ma trận), Bạn có thể làm bất cứ điều gì với canvas 2d mà bạn có thể làm với WebGL nhưng một số điều sẽ dễ dàng hơn trong WebGL (nghiêm túc, nếu đi 2d Canvas, đừng cố gắng sử dụng kết cấu, đó là một cơn ác mộng). WebGL sử dụng OpenGL, tóm lại, có nghĩa là nó sẽ luôn hoạt động tốt hơn Canvas 2d.
Tuy nhiên, WebGL yêu cầu người dùng phải có thẻ video tương thích.
không phải là một nhà phát triển js, nhưng tôi đã sử dụng [three.js] (https://github.com/mrdoob/three.js) một cách dễ dàng và nó có nhiều kết xuất đồ họa (WebGL, SVG và Canvas). Tôi đã chơi với trình kết xuất Canvas và nó hoạt động trên khá nhiều trình duyệt trước đây và vấn đề duy nhất tôi nhớ là tốc độ khi sử dụng kết cấu (vì trình kết xuất Canvas về cơ bản chỉ thực hiện tất cả các phép tính và hiển thị trên CPU). . Ngoài ra, các thử nghiệm của tôi đã chạy trên iOS và Android, nhưng chậm hơn đối với các mô hình phức tạp. Các mô hình cơ bản/low-poly hoạt động khá tốt với Canvas ngay cả trên thiết bị di động. Xem ví dụ cũ của tôi [ở đây] (http://bit.ly/fOLOgM) HTH –
Thật điên rồ phải không? Chuck Norris chỉ sử dụng div: http://www.uselesspickles.com/triangles/ – joeytwiddle
BTW, để bạn sử dụng WebGL kể từ bây giờ, về cơ bản bạn cần Canvas. WebGL khác với Canvas chỉ theo nghĩa bạn nhận được ngữ cảnh WebGL. WebGL - 'document.getElementById ('canvas-element'). GetContext (" webgl ");' .. Canvas 2D bình thường 'document.getElementById ('canvas-element'). GetContext (" 2d "); // nếu bạn thay đổi thành "3d", bạn vẫn có thể có bản vẽ 3D, w/o WebGL' –