Wiem, że to 2 lata, ale sądzę, że zamieściłbym to tutaj dla przyszłych czytelników.
Co wybrać w zależności od potrzeb.
Potrzebujesz prostego kształtu 3D bez animacji lub bez animacji? Spróbuj, jeśli możesz to zrobić za pomocą CSS3, to jest najłatwiejsze zdecydowanie. W przypadku IE prawdopodobnie można uzyskać bibliotekę, która oferuje wsparcie.
Czy potrzebujesz słodkich modeli 3D z ładną grafiką i potrafiących robić różne rzeczy? Przejdź do WebGL, nie możesz poprosić o większą kontrolę i wydajność dla 3d w przeglądarkach.
Potrzebujesz kształty 3d, które mogą wykonywać różne rzeczy, ale nie potrzebują tekstur i będą działać wszędzie i nie będą wymagały dużej wydajności? Przejdź na płótnie.
CSS3 jest przeznaczony tylko dla miłośników oczu. Możesz zrobić to z łatwością, stylizować w dowolny sposób i bardzo łatwo go utrzymać. Gdy chcesz zrobić coś więcej niż tylko okulary do oczu, załóż rękawiczki, ponieważ będzie to wymagało trochę pracy.
Za pomocą 2d Canvas można tworzyć rzeczy 3d. Jeśli jesteś na to nowy, będzie to bardzo denerwujące i skomplikowane (aby wymienić tylko jeden przykład, musisz wiedzieć o macierzach), możesz zrobić cokolwiek z płótnem 2D, które możesz zrobić w WebGL, ale coś będzie łatwiejsze w WebGL (poważnie, jeśli przechodzisz na Canvas 2D, nie próbuj używać tekstur, to koszmar). WebGL korzysta z OpenGL, co w skrócie oznacza, że zawsze będzie lepiej niż 2d Canvas.
Jednak WebGL wymaga od użytkownika posiadania kompatybilnej karty graficznej.
nie programistą js, ale użyłem [Three.js] (https://github.com/mrdoob/three.js) łatwo i ma wiele renderujących (WebGL, SVG i płótno). Grałem z renderem Canvas i działa on prawie we wszystkich przeglądarkach jakiś czas temu i jedyny problem jaki pamiętam to szybkość przy używaniu tekstury (ponieważ renderowanie Canvas w zasadzie wykonuje wszystkie matematykę i renderowanie tylko na CPU), więc użyłem kolorów głównie . Moje testy również działały na iOS i Androidzie, ale wolniej w przypadku złożonych modeli. Modele Basic/Low-Poly działają nieco przyzwoicie dzięki Canvas nawet na urządzeniach mobilnych. Zobacz moje stare przykłady [tutaj] (http://bit.ly/fOLOgM) HTH –
To szaleństwo, prawda? Chuck Norris używa właśnie divs: http://www.uselesspickles.com/triangles/ – joeytwiddle
BTW, do korzystania z WebGL od teraz, w zasadzie potrzebujesz Canvas. WebGL różni się od Canvas tylko w tym sensie, że dostajesz kontekst WebGL. WebGL - 'document.getElementById ('element canvas'). GetContext (" webgl ");' .. Normalne płótno 2D "document.getElementById (" element canvas "). GetContext (" 2d "); // jeśli zmienisz na "3d", nadal możesz mieć rysunki 3D, bez WebGL'a –