130 likes | 291 Views
Jämförelse av 3D-möjligheter för HTML5. Rasmus Saxén. Syfte och mål. Insikt i nativ 3D-grafik på webben Studera möjligheten till hårdvaruacceleration Jämföra existerande 3D-tjänster Observationer Tester. Metoder och begränsningar. Litteraturstudier Böcker och tekniska specifikationer
E N D
Jämförelse av 3D-möjligheter för HTML5 Rasmus Saxén
Syfte och mål • Insikt i nativ 3D-grafik på webben • Studera möjligheten till hårdvaruacceleration • Jämföra existerande 3D-tjänster • Observationer • Tester
Metoder och begränsningar • Litteraturstudier • Böcker och tekniska specifikationer • Tjänsters informationssidor och nätartiklar • Tester • Jämförelse av funktioner • Prestandatest • Begränsningar • Inga lösningar baserade på plug-ins • Tjänster för uppvisande av 3D-modeller
HTML5 • 2004-2012, WHATWG och W3C • Frihet från plug-ins • Canvas-elementet • Tom bitmapp • Javascript • Kontext: 2D/3D
WebGL • API för webbaserad 3D-grafik • Khronos Group • Baserat på OpenGL • Hårdvaruacceleration • ~67 % har stöd
Renderingsmotorer • 3D-data till 2D • Renderingspipeline • Olika steg: shaders • WebGL: fyra huvudsteg • Bild delad i fragment
Three.js • 3D-bibliotek • Baserat på Javascript • Långa kodsträngar till funktioner • ~35000 rader
P3d.in • Three.js • Utvecklingsskede • Endast stöd för obj-format • Två kontoplaner • Betalkonto i beta-test • 100 MB gratis utrymme • Max 50 MB per modell
Sketchfab • OSG.JS • Mångsidig tjänst • Stöd för 27 3D-format • Fem olika kontoplaner • Specialtjänst för portfolio • Oändligt gratis utrymme • Max 50 MB per modell
Verold Studio • Three.js • Platform som tillåter användare att editera material medan andra observerar • Tillåter flera objekt i samma scen • Avancerade materialinställningar • Tre kontoplaner • Geometriska begränsningar • 50 objekt/200000 polygoner
Test • Google Chrome och Process Explorer • Externa visare på blank webbsida
Resultat • WebGL effektivt utnyttjat • Grafikkortsbelastning 25-90 % (40 %) • Processorn obelastad • Varierande resultat trots identiskt test • Verold Studio testades med två modeller • Simplare modell för kravet på 200000 polygoner • P3d.in minsta grafikbelastningen, mest minne • Förhållande mellan minne och grafikminne 2:1 för Three.js-lösningar
Slutsatser • Framtidspotential både för industrin och hobbyister • Kombinera med 3D-printing • Öppen standard viktig för utvecklingen • Microsoft håller tillbaka