direct3d


Το Direct3D 10 και 11 στο Linux; …και γιατί μας νοιάζει; 3

But It Is, Like, Right ThereΟ φίλος Σέργιος από την Θεσσαλονίκη, (aka Linuxman) από το GreekLUG με ενημέρωσε για ένα εξαιρετικό νέο. Την υλοποίηση με native κώδικα του Direct3D στις εκδώσεις 10 και 11 μέσω του Gallium3D στο Linux.

Κατ’αρχάς το Gallium3D είναι μια ανοιχτού κώδικα (άδεια MIT) βιβλιοθήκη που λειτουργεί ουσιαστικά ως διαμεσολαβητής μεταξύ του Application Programming Interface των γραφικών  και του λειτουργικού συστήματος. Πρόσφατα, μεταξύ διάφορων προσθηκών κώδικα που έγιναν στο Gallium 3D προστέθηκε η υποστήριξη Direct3D 10 και 11.

Πρώτος στόχος είναι να η υποστήριξη από το Gallium3D πολλαπλών API, και από την άλλη να παρέχεται ένα API που μπορεί να υλοποιείται απλά από το Gallium3D χωρίς τις περιπλοκότητες που χρειάζονται στην περίπτωση του OpenGL.Ο δεύτερος στόχος είναι να μπορέσουν παιχνίδια φτιαγμένα για να τρέχουν με το Direct3D 10 και 11 να τρέχουν πιο εύκολα στο Linux μέσω Wine. Τρίτος στόχος είναι η διάθεση ενός σύγχρονου API όπως το Direct3D 10 και μετά καθώς το OpenGL έχει αρχίσει και δείχνει τα χρόνια του.

Να τονίσω εδώ ότι το καλοκαίρι του 2008 η έκδοση του OpenGL 3.0 (που αναμενόταν από καιρό το Σεπτέμβριο του 2007 και με την Khronos Group που αναπτύσσει το OpenGL να μην κάνει ανακοινώσεις) έφερε κύματα απογοήτευσης σε πολλούς προγραμματιστές 3D εφαρμογών και παιχνιδιών με αποτέλεσμα πολλοί προγραμματιστές (μερικά,παραδείγματα) καθώς πολλά στοιχεία που θα δοκιμαζόταν στην περίφημη έκδοση Longs Peak (όπως ονομαζόταν κατά την φάση της ανάπτυξης του το OpenGL 3.0).

Υλοποιήσεις βασισμένες στο Gallium και στο Direct3D 10 και 11 πλέον θα είναι σε θέση να υποστηριχτούν σε λειτουργικά συστήματα όπως το Linux, το πιο αστείο είναι ότι η Microsoft δεν υποστηρίζει το Direct3D 10 και 11 στα Windows XP αλλά μόνο στα Vista και τα Windows 7.

Θα αλλάξει αυτό το τρόπο που προσεγγίζουμε το 3D στο Linux; Αυτό θα εξαρτηθεί από πολλούς παράγοντες, σημαντικό ρολό θα παίξουν οι developers του Wine αλλά και από άλλους developers ανοιχτού κώδικα. Από την άλλη πρέπει να τονιστεί ότι το project είναι πρακτικά μια ανοιχτού κώδικα υλοποίηση του API του Direct3D μέσω του Gallium3D αυτό έχει σαν αποτέλεσμα να μην πρόκειται για κλειστού κώδικα λογισμικό ωστόσο υπάρχει ένα κομμάτι του που κατεβάζει το Microsoft HLSL compiler στο σύστημα σας.

Εσείς τί λέτε; Είναι το Direct3D κάτι που θα φέρει στο Linux ακόμη περισσότερες δυνατότητες και χρήστες ή είναι μπορεί να λειτουργήσει αρνητικά στην ανάπτυξη του ελεύθερου λογισμικού;