View Full Version : [3d su web] Che cosa usare?
Per un futuro lavoro, ho in previsione di creare una pagina web con un modellino semplificato di una persona, in tre dimensioni, che sia possibile ruotare su almeno un asse (z). Ci si chiedeva cosa usare per visualizzare il modellino, tenendo presente che il browser per cui è previsto è necessariamente Internet Explorer (non mi infamate, non dipende da me), versione 7 o 8.
Avevo in mente alcune alternative:
1. Flash
2. Silverlight
3. HTML5 (canvas) con l'aiuto di un plugin esterno (tipo Google Chrome Frame o ExplorerCanvas), in previsione anche di IE9
4. VML, solo per IE
5. Applet Java
Tenete conto che si tratta di mettere a schermo qualcosa di semplice, non più di 200 poligoni senza texture.
In una mattina ho creato un semplice motore 3D in VML. Questa soluzione ha il vantaggio di avere integrati gli eventi tipici dell'HTML all'interno dei poligoni disegnati, cosa che sarà utile perché nel manichino dovranno essere presenti delle aree cliccabili. Inoltre, il supporto a VML è integrato in IE e non necessita di plugin.
Con un motore ancora non ottimizzato al 100% riesco a fare circa 10 fps su un processore a 2 GHz.
Voi che strada scegliereste? Ditene anche di nuove, se vi va.
lupoxxx87
27-03-2010, 22:31
io userei delle applet Java...magari pesanti da mettere in rete, ma non troppo difficili da realizzare, con strumenti che permettono anche di fare cose molto sofisticate
1. Flash deve solo che crepare.
2. Silverlight purtroppo non supporta DirectX a causa del fatto che é cross-platform; in Silverlight é possibile fare delle minime forme di grafica 3D usando anche degli shaders in HLSL, ma é sconsigliatissimo perché gli shaders sono interpretati dal software :Puke: sempre per il motivo di cui sopra.
3. HTML5 (canvas) con l'aiuto di un plugin esterno (tipo Google Chrome Frame o ExplorerCanvas), in previsione anche di IE9 WebGL sarebbe perfettissimo, ma ancora non é pronto; col canvas da solo non ci fai quasi niente.
4. VML, solo per IE sai che questa mi manca? non so cosa sia!
5. Applet Java per ora é la migliore; applet Java + JOGL, deploy tramite JNLP. per un esempio funzionante guarda il primo link della mia firma :) (richiede OpenGL 2.1).
In una mattina ho creato un semplice motore 3D in VML. Questa soluzione ha il vantaggio di avere integrati gli eventi tipici dell'HTML all'interno dei poligoni disegnati, cosa che sarà utile perché nel manichino dovranno essere presenti delle aree cliccabili. Inoltre, il supporto a VML è integrato in IE e non necessita di plugin.
Con un motore ancora non ottimizzato al 100% riesco a fare circa 10 fps su un processore a 2 GHz. 10 fps? :mbe: stai scherzando? :mbe:
ecco perché non conoscevo questa soluzione :asd:
Ci sarebbe anche Unity 3D. L'avevo scaricato una volta ma per mancaza di tempo non l'ho più provato PERO' se qualcuno lo provasse e mi dicesse com'è...
Se si tratta di una cosa esclusivamente web allora ha senso Flash.
Esistono motori 3d per Flash già pronti: http://away3d.com/
deve solo che crepare.:mbe:
Rispetto le tue convinzioni, ma al momento gran parte del web ti dice che è una valida soluzione per gli effetti speciali al di là di quel che l'HTML dinamico può offrire.
purtroppo non supporta DirectX a causa del fatto che é cross-platform; in Silverlight é possibile fare delle minime forme di grafica 3D usando anche degli shaders in HLSL, ma é sconsigliatissimo perché gli shaders sono interpretati dal software :Puke: sempre per il motivo di cui sopra.Ma io non ho mai preso in considerazione minimamente la possibilità di sfruttare la scheda video. Non so che hai in mente tu, ma io l'ho detto: si tratta di un paio di centinaia di poligoni, non di più. Se è la CPU che fa da shader va benissimo: oltretutto mi basta solo come vertex shader. In teoria è roba che anche un Pentium a 60 MHz può gestire, solo che il web è tutto un altro mondo "virtuale" e "simulato".
WebGL sarebbe perfettissimo, ma ancora non é pronto; col canvas da solo non ci fai quasi niente.Ci disegno: questo mi basta.
sai che questa mi manca? non so cosa sia!È una proposta di Microsoft, Macromedia, Autodesk ed altri come standard per le immagini vettoriali sul web. Venne proposto al W3 ma scartato in favore dell'SVG.
Peccato, perché le potenzialità ci sono tutte, e questo credo che ne abbia anche limitato le potenzialità di sviluppo e quindi le performance generali.
Se si tratta di una cosa esclusivamente web allora ha senso Flash.
Esistono motori 3d per Flash già pronti: http://away3d.com/Grazie mille, ma mi sembra sempre troppo :D
È come ammazzare una zanzara con un bazooka! :D
Però un'occhiata ce la do...
Salve, ritorno sull'argomento...
Ho provato a convertire il motore che avevo sviluppato in Flash e Actionscript 2.0, usando FlashDevelop. Non c'è voluto molto, in fondo Javascript e Actionscript sono due dialetti di ECMAScript, è stato sufficiente convertire i prototipi in classi e c'ero già.
Quello che mi ha lasciato deluso è che non ho guadagnato nulla in velocità. Anzi, si può dire che l'ho persa! Nel calcolo il miglioramento è stato netto, ma nel rendering grafico è peggiorato assai...
Sicuramente sto usando i metodi sbagliati, magari i vari beginFill sono lentissimi. In Flash ci programmo da due giorni, del resto.
Non ho veramente idea di come abbiano fatto a realizzare quell'Away3D, ho scaricato i sorgenti ma ci sto capendo davvero poco...
Qualcuno mi sa indirizzare meglio su che strumenti usare?
Pixel452
14-04-2010, 22:44
Se sei vincolato a IE presumo che tutte le piattaforme dove dovrà girare il tuo software saranno Windows a questo punto non ti conviene usare XBAP? Praticamente è WPF hostato su Browser ed è accelerato DirectX.
p.s. da quello che so SilverLight 3 supporta l'accelerazione Hardware.
Primo link che ho trovato, infondo parla di SilverLight 3 e dice che supporta l'accelerazione.
http://weblogs.asp.net/scottgu/archive/2008/11/16/update-on-silverlight-2-and-a-glimpse-of-silverlight-3.aspx
[Edit]
Come non detto, l'accelerazione in SilverLight 3 è un mezza sola...
Se sei vincolato a IE presumo che tutte le piattaforme dove dovrà girare il tuo software saranno Windows a questo punto non ti conviene usare XBAP? Praticamente è WPF hostato su Browser ed è accelerato DirectX.
p.s. da quello che so SilverLight 3 supporta l'accelerazione Hardware.
Primo link che ho trovato, infondo parla di SilverLight 3 e dice che supporta l'accelerazione.
Viva la portabilità :D
Viva la portabilità :DVabbé, tanto parto già da IE, figurati...
Ma hai provato ad usare Away3D, capisco che è troppo per le tue esigenze, ma nel troppo ci sta il poco :D
Pixel452
15-04-2010, 09:02
Viva la portabilità :D
Dipende dai requisiti, se il suo target è Windows non vedo perché dovrebbe farsi problemi sulla portabilità.
Nella ditta dove lavoro per esempio, facciamo un largo uso di XBAP.
Ma hai provato ad usare Away3D, capisco che è troppo per le tue esigenze, ma nel troppo ci sta il poco :DLo userò quando avrò capito come funziona :asd:
Comunque è qualcosa che sto facendo a tempo perso. In tuto questo mi sarebbe molto d'aiuto un debugger ActionScript... che sia gratis, s'intende :help:
Darò un'occhiata anche ad XBAP, se m'avanza del tempo.
E/O magari farò qualcosa in Java.
Ma questo Flash come si vede su Windows ? http://away3d.com/swfs/tutorials/objectexamples.swf
Ma questo Flash come si vede su Windows ? http://away3d.com/swfs/tutorials/objectexamples.swfIn che senso?
Così, a naso, ti direi che si vede assai bene, molto fluido, 'rtacci loro e a come fanno :D
In che senso?
Così, a naso, ti direi che si vede assai bene, molto fluido, 'rtacci loro e a come fanno :D
Su Linux, ma ho il player in beta, non è fluidissimo.
Comunque...perché vuoi capire come fanno loro ? Non ti basta usare il loro motore ?
Su Linux, ma ho il player in beta, non è fluidissimo.
Comunque...perché vuoi capire come fanno loro ? Non ti basta usare il loro motore ?Perché se lo capisco divento più bravo :fagiano:
Se loro ci riescono così bene mentre io ho rallentamenti assurdi con appena 300 poligoni senza texture è evidente che sbaglio classi e metodi.
Anche se non farò mai una roba del genere, almeno sarà bagaglio personale.
Il player sotto Linux chi l'ha sviluppato? La Adobe?
Il player sotto Linux chi l'ha sviluppato? La Adobe?
Sì, ma si sono impegnati a farlo con i piedi. Io poi sono sotto Linux a 64 bit ed il player a 64 bit è ancora in alpha da ormai due anni.
Sì, ma si sono impegnati a farlo con i piedi. Io poi sono sotto Linux a 64 bit ed il player a 64 bit è ancora in alpha da ormai due anni.E che è, una novità?
Dai, stai tranzollo, con la release 10.1 di Flash dovrebbe cambiare qualcosa... forse... :fagiano:
Comunque le specifiche del Flash sono open, chiunque può fare un player Flash se vuole. Possibile che su Linux nessuno si sia cimentato?
Possibile che su Linux nessuno si sia cimentato?
Sì, ci sono già cimentati da tempo, ma la compatibilità è molto limitata.
In che senso?
Così, a naso, ti direi che si vede assai bene, molto fluido, 'rtacci loro e a come fanno :D io non vorrei dire, ma se usi JOGL quello é il minimo... :fagiano:
rifatti gli occhi sulle demo di JOGL relative ad HDR e Light Blooming :D
mi pare che la maggior parte non siano applet ma partano con Java Web Start, ma ti assicuro che quelle stesse, identiche, cose, le puoi vedere dentro una pagina web con tanto di logo del W3C validator.
C'e' anche O3D, da parte di google.
Qui la pagina di presentazione, con anche un po' di codice.
http://code.google.com/apis/o3d/
Qualche esempio
http://o3d.googlecode.com/svn/trunk/samples/hud-2d-overlay.html
Questo e' spettacolare (18MB pero')
http://o3d.googlecode.com/svn/trunk/samples/beachdemo/beachdemo.html
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.