So che questo ha 2 anni ma immagino che lo postherei qui per i futuri lettori.
Cosa scegliere dipende da ciò che è necessario.
Hai bisogno di una semplice forma 3D con animazioni assenti o poco? Prova se puoi farlo con CSS3, che è il più facile di gran lunga. Per IE probabilmente puoi ottenere una libreria che offre supporto.
Avete bisogno di alcuni modelli 3d con una bella grafica e che possono fare ogni genere di roba? Vai a WebGL, non puoi chiedere più controllo e prestazioni per i browser 3d.
Avete bisogno di forme 3D in grado di eseguire qualsiasi tipo di materiale, ma non hanno bisogno di trame e funzioneranno ovunque e non richiedono molte prestazioni? Vai alla tela.
CSS3 è solo per il piacere degli occhi. Puoi farlo abbastanza facilmente, stile come vuoi ed è facilmente gestibile. Una volta che vuoi fare qualcosa di più che un semplice piacere per gli occhi, indossa i guanti perché questo sarà un po 'di lavoro.
Con 2d Canvas puoi fare cose 3d. Se sei nuovo, sarà molto noioso e complicato (per citarne un esempio, devi conoscere le matrici), puoi praticamente fare qualsiasi cosa con la tela 2D che puoi fare con WebGL ma alcune cose saranno più facili in WebGL (seriamente, se vai su 2d Canvas, non provare a usare trame, è un incubo). WebGL usa OpenGL che, in poche parole, significa che sarà sempre migliore di 2d Canvas.
Tuttavia, WebGL richiede all'utente di disporre di una scheda video compatibile.
non uno sviluppatore js, ma ho usato [Three.js] (https://github.com/mrdoob/three.js) facilmente e ha molteplici renderer (WebGL, SVG e tela). Ho giocato con il renderizzatore Canvas e funziona praticamente su tutti i browser un po 'di tempo fa e l'unico problema che ricordo era la velocità nell'uso della texture (perché il renderizzatore Canvas fondamentalmente fa tutto il calcolo e il rendering solo sulla CPU) quindi ho usato principalmente i colori . Inoltre, i miei test sono stati eseguiti su iOS e Android, ma più lento per modelli complessi. I modelli Basic/low-poly funzionano in modo un po 'decente con Canvas anche su dispositivi mobili. Vedi i miei vecchi esempi [qui] (http://bit.ly/fOLOgM) HTH –
È pazzesco vero? Chuck Norris usa solo div: http://www.uselesspickles.com/triangles/ – joeytwiddle
BTW, per usare WebGL al momento, in pratica hai bisogno di Canvas. WebGL è diverso da Canvas solo nel senso che si ottiene un Contesto WebGL. WebGL - 'document.getElementById ('canvas-element'). GetContext (" webgl ");' .. Tela 2D normale 'document.getElementById ('canvas-element'). GetContext (" 2d "); // se si passa a "3d", è ancora possibile avere disegni 3D, senza WebGL' –