2012-08-14 4 views
10

Qualcuno può spiegare qual è la differenza tra i renderer di three.js? Qual è più veloce? Quale è più standard e cross browser? Come funzionano il renderer svg e il renderer dom? Ho un risultato diverso quando uso webGl al posto del renderer della tela per il codice sottostante, quindi perché dovrebbe accadere?
cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200, 1, 1, 1, materials), new THREE.MeshFaceMaterial());
È una grande differenza tra canvas e webGL? quale dovrei usare per un sito web visto in alto?Renderer THREE.js

+1

Dipende da ciò che si vuole disegnare ... Credo che come suggerisce il nome WebGL Renderer usi OpenGL e quindi sia più veloce (perché usa la GPU), e Canvas e SVG sono più deboli perché calcolano i transforamici 3d-> 2d e non tutti gli oggetti sono supportati ... – EliSherer

+0

Voglio disegnare alcuni oggetti 3D complessi, quindi web Gl può essere più utile ma ci sono molti browser che non supportano webGl. – Erfan

risposta

16

Si desidera veramente creare applicazioni che supportano solo WebGL se il proprio obiettivo è creare grafica 3D. Gli altri renderer di Three.JS sono più simili a hack e proof-of-concepts che a qualcosa che può darti un vero 3D. Se il tuo obiettivo non è creare grafiche sorprendenti, puoi semplicemente utilizzare immagini PNG statiche, animazioni GIF o clip YouTube e avere una migliore compatibilità con le versioni precedenti. Il backend di rendering <canvas> è utile solo per una grafica molto semplice (come un cubo rotante senza una trama) e con <canvas> in quanto il fallback non funzionerà in molti casi.

Ad esempio, è https://tinkercad.com/home/ WebGL unica applicazione web. La loro stima nella conferenza webshaped.fi è che circa il 50% del pubblico del sito può accedere ai contenuti WebGL. Può sembrare basso, ma è ancora molto più alto di chi installa un'applicazione sul proprio dispositivo mobile o desktop, quindi il tasso di conversazione che utilizza 3D in modalità WebGL è più alto rispetto ad altri meccanismi di distribuzione.

vedere anche http://webglstats.com/

WebGL è anche una tecnologia a prova di futuro - che non andrà via. Attualmente il tuo obiettivo principale è il desktop, ma è solo questione di tempo, 2-3 anni, prima che l'adattamento mobile sia realtà.

+0

Eccellente. Grazie, quindi lavorerò con Web Gl, ma sai cosa sono SVG Renderer e DOM Renderer? – Erfan

+1

Sono la dimostrazione del rendering di concetti utilizzando elementi HTML e non producono risultati di rendering che si desidera utilizzare nella vita reale. Mi aspetto che vengano eliminati dal core Three.js in futuro. –

2

go con WebGLRenderer come prova futura e l'imp è la maggior parte dei metodi THREE.js funziona in esso.

Ad es. ParticleSystem non funziona in CanvasRenderer