2012-08-14 15 views
10

¿Puede alguien explicar cuál es la diferencia entre three.js renderers? ¿Cuál es más rápido? ¿Cuál es más estándar y cross browser? ¿Cómo funcionan el renderizador svg y el renderizador de dom? Tengo un resultado diferente cuando uso webGl en lugar de un procesador de imágenes para el código siguiente, entonces ¿por qué debería suceder?
cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200, 1, 1, 1, materials), new THREE.MeshFaceMaterial());
¿Existe una gran diferencia entre canvas y webGL? ¿Cuál debería usar para un sitio web visitado?THREE.js renderers

+1

Depende de lo que quiere dibujar ... Creo que como su nombre indica, el WebGL Renderer usa OpenGL y por lo tanto es más rápido (porque usa la GPU), y el Canvas y SVG son más débiles porque calculan transforamidades 3d-> 2d y no todos los objetos son compatibles ... – EliSherer

+0

Quiero dibujar algunos elementos 3D complejos, por lo que la web Gl puede ser más útil, pero hay muchos navegadores que no son compatibles con webGl. – Erfan

Respuesta

16

Realmente desea crear aplicaciones que solo admitan WebGL si su objetivo es crear gráficos en 3D. Otros tres. Los renderizadores de JS son más como hacks y pruebas de conceptos que algo que puede darte 3D real. Si su objetivo no es crear gráficos deslumbrantes, simplemente puede usar imágenes PNG estáticas, animaciones GIF o clips de YouTube y tener una mejor compatibilidad con versiones anteriores. <canvas> backend de representación es útil para gráficos muy simples (como un cubo giratorio sin textura) y tiene <canvas>, ya que el retroceso no va a funcionar en muchos casos.

Por ejemplo, es https://tinkercad.com/home/ WebGL única aplicación web. Su estimación en la conferencia webshaped.fi fue que alrededor del 50% de la audiencia del sitio puede acceder al contenido de WebGL. Puede parecer bajo, pero sigue siendo mucho más alto que las personas que instalan una aplicación en su dispositivo móvil o de escritorio, por lo que la velocidad de conversación que implementa 3D mediante WebGL es más alta que a través de otros mecanismos de implementación.

ver también http://webglstats.com/

WebGL es también una tecnología a prueba de futuro - que no va a desaparecer. Actualmente, su objetivo principal es el escritorio, pero es solo cuestión de tiempo, de dos a tres años, antes de que la adaptación móvil sea la realidad.

+0

Excelente. Gracias, así que trabajaré con Web Gl, pero ¿sabes qué son SVG Renderer y DOM Renderer? – Erfan

+1

Son una prueba de la representación de conceptos utilizando elementos HTML y no producen resultados de representación que usted desearía usar en la vida real. Espero que sean eliminados del núcleo de Three.js en el futuro. –

2

vaya con WebGLRenderer como su futura prueba e imp es la mayoría de los métodos THREE.js trabaja en él.

Por ej. ParticleSystem no funciona en CanvasRenderer