2012-02-08 9 views
8

Sto cercando di avere un'idea di quale sia la relazione tra ognuno di questi. Come ad esempio:rapporto/confronto tra X3D, SVG, WebGL, lettura VRML?

  • che è solo un sostituto per l'altro (e perché) - per esempio X3D sostituisce VRML?
  • cosa si può fare che l'altro non può - ad es. SVG non può creare mondi 3D ma gli altri possono?
  • Quale è il livello più alto - ad es. Livello WebGL superiore rispetto a X3D
  • Quale è/è più probabile che sia uno standard W3 e quindi supportato dai browser più diffusi
  • Qual è il modo più semplice per creare mondi dall'aspetto piacevole in/quali caratteristiche supportano - ad es. X3D sostiene Ray Tracing e gli altri non

Sono sicuro che queste domande sono state poste prima e qualcuno ha scritto un bel articolo che riassume queste informazioni in modo che le persone come me che vogliono imparare e utilizzare uno di loro può prendere una decisione informata senza preoccuparsi delle future questioni di compatibilità/migrazione.

Esiste una lettura consigliata che indirizzi tutte queste e le tecnologie correlate?

risposta

8
  • X3D è davvero una rappresentazione scenegraph di mondi 3D, e sostituisce VRML. Sono d'accordo con il punto 1 sopra.
  • Con la libreria JavaScript X3DOM, le scene X3D diventano parte del DOM HTML, ovvero la manipolazione DOM standard e la gestione degli eventi possono essere utilizzate per rappresentare e interagire con scene 3D e tutti gli oggetti in esse contenuti. Questo è analogo a SVG per scene 2D: ogni oggetto SVG diventa un oggetto DOM.
  • WebGL è per il rendering 3D di basso livello (come OpenGL) nel browser.
  • X3DOM può utilizzare WebGL per eseguire il rendering direttamente nel browser, senza plug-in.
  • È possibile utilizzare X3DOM su WebGL per creare mondi 3D basati su DOM HTML senza plug-in nel browser, oppure è possibile utilizzare qualcosa come three.js anziché x3dom. Sia three.js che X3DOM si trovano a un livello superiore rispetto a WebGL.
  • Queste diapositive danno una buona panoramica X3DOM, tra cui semplici esempi: http://www.slideshare.net/jsalonen/x3dom-an-overview-and-examples
  • X3D fa volume rendering supporto (raycasting): http://www.web3d.org/x3d/content/examples/Basic/VolumeRendering/ - non ho ancora visto raytracing esempi.
+0

Anche questo è molto utile. Grazie per aver dedicato del tempo a fornire un altro punto di vista –

7

1) X3D (~ 2005) è un successore di VRML (~ 1998). Entrambi sono standard ISO e gestiti dalla stessa organizzazione: Il consorzio web3d: web3d.org

2) Le specifiche VRML includono un singolo formato di file e comportamento di runtime per scene e/o mondi 3D dinamici, interattivi ma monoutente . Definisce circa 80 nodi diversi (ad esempio tridimensionali, materiali, trasformazioni, luci, punti di vista, ...) che possono essere utilizzati per descrivere il contenuto. Le specifiche X3D si basano solo su VRML e includono non una ma tre codifiche di file: classico (proprio come VRML), XML e binario e nuove notizie e componenti include NURBS, particelle, ...

3) X3D, come sistema di scena-grafico, è più alto l'OpenSG e WebGL

4) ci sono persone che credono entrambi dovrebbero essere parte della specifica W3C: http://www.w3.org/community/declarative3d/

5) di solito è più facile da costruire e prototipo con X3D ma con OpenGL/WebGL hai (quasi) accesso diretto alla tua GPU e hai più libertà di creare qualsiasi richiesta della tua applicazione. Ma ci sono anche progetti di combinare entrambe le cose: www.x3dom.org

+0

Grazie mille Rudi. X3D supporta Ray Tracing? Una rapida ricerca su Google mi mostra alcuni documenti con qualche framework, ma non so cosa significhi in termini di supporto nativo. –