Το WebGL έρχεται!
Στέλιος Πετράκης, στις 23 September 2009 · Web standards · Προγραμματισμός ·
Σε ένα από τα άρθρα μας είχαμε παρουσιάσει τους τρισδιάστατους μετασχηματισμούς που εισάγει το CSS3 πρότυπο. Αν και οι μετασχηματισμοί είναι αρκετά σύνθετοι, δεν είναι ικανοί να παράγουν αποτελέσματα που μπορεί κάποιος να συναντήσει σε σύγχρονα ηλεκτρονικά παιχνίδια, που είναι απολύτως λογικό καθώς το CSS3 σχετίζεται με τον τρόπο απεικόνισης των ιστοσελίδων στον browser.
Παρόλα αυτά, αυτό που κέντριζε εδώ και πολύ καιρό το ενδιαφέρον των developers, ήταν η δυνατότητα απεικόνισης τρισδιάστατων αντικειμένων μέσα στον browser χωρίς μεγάλο υπολογιστικό κόστος και extra plugins. Μονόδρομος μέχρι στιγμής για κάτι τέτοιο αποτελεί η πλατφόρμα της Adobe, το Flash, με την χρήση του οποίου καθώς και διάφορων βιβλιοθηκών (π.χ. Papervision3D) η απεικόνιση τρισδιάστατων σκηνών γίνεται πιο εύκολα. Το μειονέκτημα όμως με το Flash εντοπίζεται τόσο στην “κλειστή” του φύση, όσο και με το γεγονός πως πίσω από αυτό βρίσκεται μια και μόνο εταιρία που ουσιαστικά ελέγχει αυτή την αγορά.
Αυτό όμως πρόκειται να αλλάξει.
Enter WebGL
Το WebGL πρόκειται για ένα πρότυπο που έχει στόχο να φέρει εγγενή υποστήριξη στα τρισδιάστατα γραφικά μέσα από τους browsers. Τι σημαίνει αυτό; Πως τους υπολογισμούς και την απεικόνιση δεν θα τα αναλαμβάνει ο επεξεργαστής του υπολογιστή, αλλά η κάρτα γραφικών, όπως ακριβώς γίνεται στα ηλεκτρονικά παιχνίδια.
Το πρότυπο αυτό ανακοινώθηκε στις αρχές του έτους, επανήλθε στο προσκήνιο στο GDC conference τον Αύγουστο και είναι αποτέλεσμα συνεννόησης αρκετών κατασκευαστών browsers όπως Google, Mozilla, Opera, Ericsson, Apple αλλά και των γνωστών στα 3D θέματα Nvidia και AMD, με την οργάνωση The Khronos Group που είναι υπεύθυνη για άλλα παρεμφερή standards (OpenGL, OpenGL ES).
Με λίγα λόγια, το WebGL πρόκειται να δώσει τον έλεγχο των OpenGL ES 2.0 APIs στους developers μέσω της Javascript και του canvas, το οποίο σημαίνει: Δισδιάστατα αλλά και τρισδιάστατα γραφικά επιπέδου iPhone, μέσα στον browser! Ήδη οι τελευταίες δοκιμαστικές εκδόσεις του Firefox και του Webkit (Safari) περιέχουν πειραματική υποστήριξη για το νέο πρότυπο που όπως φαίνεται θα είναι το next big thing.
Πιο συγκεκριμένα, το WebGL - που ενδέχεται να κάνει την εμφάνισή του μέσα στο 2010 - έχει ως στόχο την δημιουργία μιας ‘βάσης’ πάνω στην οποία οι προγραμματιστές μπορούν να αναπτύξουν δικές τους βιβλιοθήκες και μηχανές γραφικών - όπως γίνεται και στην περίπτωση της OpenGl - ώστε με αυτές να αναπτύξουν τους τίτλους τους. Χαρακτηριστικό παράδειγμα, είναι ένα εργαλείο απεικόνισης μοντέλων σε WebGL, με ένα πλάσμα από το ηλεκτρονικό παιχνίδι Το Spore, το οποίο ο χρήστης μπορεί να το περιστρέψει όπως θέλει.
Κρίνοντας από τα παιχνίδια που έχουν κυκλοφορήσει στο iPhone, καθώς και αυτά που έχουν ανακοινωθεί, μπορεί κάποιος να πάρει μια ιδέα για το τι θα επακολουθήσει στους browsers, αφού όπως φαίνεται, το WebGL έχει έρθει για να μείνει. Αν θέλετε να πάρετε μια γεύση από WebGL, μπορείτε να κατεβάσετε την τελευταία δοκιμαστική έκδοση του Firefox ή του Webkit από τα αντίστοιχα websites και να δοκιμάσετε τα demos.
Videos
Στα παρακάτω videos μπορείτε επίσης να δείτε μια μικρή παρουσίαση της αρχικής μορφής που έχει πάρει το πρότυπο, μέσα από demos που ανέπτυξε τόσο το Webkit group όσο και η Mozilla.
Πηγές
- http://blog.vlad1.com/2009/09/18/webgl-in-firefox-nightly-builds/
- http://arstechnica.com/open-source/news/2009/09/webkit-adoption-shows-strong-momentum-for-webgl-3d-graphics.ars
- http://blog.wolfire.com/2009/09/preview-of-webkits-webgl-canvas3d/
- http://www.macworld.com/article/142079/2009/08/webgl.html
- http://arstechnica.com/open-source/news/2009/09/webgl-in-firefox-nightly-builds-demoed-with-3d-spore-model.ars
Στέλιος Πετράκης
Ο Στέλιος Πετράκης (stelabouras) δηλώνει φανατικός gamer και web addict. Εργάζεται ως web developer στην Phaistos Networks, ολοκληρώνει το μεταπτυχιακό του, γράφει posts στο Wiggler.gr, αναπτύσσει και συντηρεί το Slideflickr.com και στον ελεύθερό του χρόνο πειραματίζεται με οτιδήποτε έχει σχέση με web, programming, design και games.
{3 σχόλια ως τώρα } + Νέο σχόλιο
Μπούκλας Μιχάλης
Χωρίς να θέλω να ακουστώ απαισιόδοξος, θα γελάσει και ο κάθε πικραμένος. Δε μας έφτανε ο πόλεμος των browsers, τώρα θα έχουμε και των 3D manufacturers. Μου θύμισε άσχημες εποχές OpenGL VS DirectX VS Voodoo… Πάλι οι developers θα την πληρώσουμε...
Στέλιος Πετράκης
Τι εννοείς Μιχάλη;
Η μόνη κόντρα που μπορώ να εντοπίσω στην προκειμένη κατάσταση είναι ίσως η “μονομαχία” Flash vs WebGl.
Κατά την γνώμη μου είναι καλό να υπάρχει ανταγωνισμός, που τις περισσότερες φορές δρα καταλυτικά, όπως επίσης και η ύπαρξη κάποιων συγκεκριμένων standards.
Στο συγκεκριμένο πάντως θέμα δεν πιστεύω πως τίθεται θέμα 3D manufacturers, η WebGL ουσιαστικά δεν βρίσκεται και στην κόψη του ξυραφιού όσων αφορά τα 3D graphics
...ακόμη!
Μπούκλας Μιχάλης
Αν και είναι τόσο νωρίς που μόνο εικασίες μπορούμε να κάνουμε, φοβάμαι κυρίως το ή τα API που θα βγάλουν. μήπως γίνουν ανά κατασκευαστή (π.χ. ένα από την ΑΤΙ, ένα από την NVIDIA κτλ κτλ). Γενικώς πολλά μπορούν πάνε λάθος....