Εκπαιδευτικά σεμινάρια

▷ Opengl: τι είναι αυτό και τι είναι για

Πίνακας περιεχομένων:

Anonim

Έχετε ακούσει ποτέ για το OpenGL; Έγινε γρήγορα το κορυφαίο API γραφικών σε πραγματικό χρόνο του κλάδου, καθώς ήταν βασικά το μόνο διαθέσιμο σε πολλές πλατφόρμες. Σήμερα σας φέρνουμε αυτό το άρθρο στο οποίο εξηγούμε τι είναι το OpenGL και τι είναι για αυτό.

Ευρετήριο περιεχομένων

Ιστορία

Στη δεκαετία του '80 η ανάπτυξη λογισμικού που ήταν συμβατό με ένα ευρύ φάσμα υλικού που σχετίζεται με τον γραφικό κόσμο ήταν μια πραγματική πρόκληση για τους προγραμματιστές. Θα έπρεπε να ασχοληθείτε με πολύ διαφορετικές διεπαφές και να γράψετε συγκεκριμένους οδηγούς για κάθε τύπο υλικού, που είναι πολύ ακριβό, επομένως, ομάδες προγραμματιστών ανατέθηκαν σε εξωτερικούς συνεργάτες για να επιταχύνουν την ανάπτυξη. Δεδομένου ότι κάθε ομάδα εργάστηκε χωριστά στις διεπαφές τους, δημιουργήθηκε πολύ πλεονασματικός κώδικας. Το 1992, η SGI προχώρησε στη δημιουργία του OpenGL Architecture Review Board (OpenGL ARB), ενός ομίλου εταιρειών που θα διατηρούσε και θα επέκτεινε τις προδιαγραφές τα επόμενα χρόνια. Το OpenGL εξελίχθηκε από την IRIS GL, ξεπερνώντας το πρόβλημα εξάρτησης από το υλικό, προσφέροντας εξομοίωση λογισμικού για τα μη υποστηριζόμενα χαρακτηριστικά. Έτσι, οι εφαρμογές θα μπορούσαν να χρησιμοποιούν προηγμένα γραφικά σε σχετικά αδύναμα συστήματα.

Για να καταλάβουμε τι είναι το OpenGL πρέπει πρώτα να γνωρίζουμε τι είναι ένα API.

Κατανόηση του OpenGL, τι είναι ένα API;

Μια διεπαφή προγραμματισμού API ή εφαρμογής είναι ένα σύνολο κωδικών που μπορούν να χρησιμοποιηθούν για να επικοινωνούν μεταξύ τους διάφορες εφαρμογές. Είναι κάτι που εκτελεί μια εργασία παρόμοια με τη διεπαφή χρήστη για την προώθηση της αλληλεπίδρασης μεταξύ προσώπου και προγράμματος, εφαρμοζόμενη μόνο και αποκλειστικά στο περιβάλλον λογισμικού. Χρησιμοποιείται για τη σύνδεση κωδικών ή λειτουργιών μεταξύ διαφορετικών πλατφορμών, έτσι ώστε να μπορείτε να επωφεληθείτε από τις υπηρεσίες μιας ιστοσελίδας στην άλλη.

Τι είναι το OpenGL;

Θεωρείται κυρίως ως API που μας παρέχει ένα μεγάλο σύνολο λειτουργιών που μπορούμε να χρησιμοποιήσουμε για να χειριστούμε 3D και 2D γραφικά και εικόνες. Ωστόσο, από μόνο του δεν είναι απλώς ένα API, αλλά μια προδιαγραφή, που αναπτύχθηκε και διατηρήθηκε από τον όμιλο Khronos. Χρησιμοποιείται επίσης για την ανάπτυξη παιχνιδιών βίντεο, όπου ανταγωνίζεται το Direct3D στην πλατφόρμα της Microsoft.

Καθορίζει ακριβώς ποια θα είναι η έξοδος κάθε λειτουργίας και πώς θα πρέπει να λειτουργήσει. Δεδομένου ότι οι προδιαγραφές του OpenGL δεν παρέχουν λεπτομέρειες εφαρμογής, οι πραγματικές αναπτυγμένες εκδόσεις μπορεί να έχουν διαφορετικές υλοποιήσεις, εφόσον τα αποτελέσματά τους συμμορφώνονται με τις προδιαγραφές (και συνεπώς είναι τα ίδια για τον χρήστη).

Οι προγραμματιστές των βιβλιοθηκών OpenGL είναι συνήθως οι κατασκευαστές καρτών γραφικών. Κάθε GPU υποστηρίζει συγκεκριμένες εκδόσεις αυτού του API, οι οποίες είναι οι εκδόσεις OpenGL που έχουν αναπτυχθεί ειδικά για την κάρτα γραφικών. Για παράδειγμα, όταν χρησιμοποιείτε ένα σύστημα από μια εταιρεία όπως η Apple, διατηρούν τη βιβλιοθήκη OpenGL και, κάτω από το Linux, υπάρχει ένας συνδυασμός εκδόσεων γραφικών και προσαρμογών για αυτές τις βιβλιοθήκες. Αυτό μπορεί να σημαίνει ότι κάθε φορά που το OpenGL εμφανίζει παράξενη συμπεριφορά που δεν θα έπρεπε, είναι πολύ πιθανό το σφάλμα των κατασκευαστών καρτών γραφικών. Κάθε φορά που υπάρχει σφάλμα στην υλοποίηση, συνήθως επιλύεται με την ενημέρωση των προγραμμάτων οδήγησης καρτών γραφικών. Αυτοί οι οδηγοί περιλαμβάνουν τις τελευταίες εκδόσεις που υποστηρίζει η GPU σας. Για το λόγο αυτό συνιστάται πάντα η ενημέρωση των προγραμμάτων οδήγησης.

Στόχοι του OpenGL

Οι κύριοι στόχοι είναι:

  • Μειώστε την πολυπλοκότητα της διεπαφής με τις διαφορετικές κάρτες γραφικών , παρουσιάζοντας τον προγραμματιστή με ένα μοναδικό και ομοιόμορφο API. Απόκρυψη των διαφορετικών δυνατοτήτων διαφόρων πλατφορμών υλικού , απαιτώντας ότι όλες οι εφαρμογές υποστηρίζουν το πλήρες σύνολο των λειτουργιών του OpenGL (χρησιμοποιώντας εξομοίωση λογισμικού, εάν είναι απαραίτητο).

Η βασική λειτουργία του OpenGL είναι να δεχόμαστε πρωτόγονες ενέργειες όπως σημεία, γραμμές και πολύγωνα, και να τα μετατρέπουμε σε εικονοστοιχεία. Αυτή η διαδικασία εκτελείται από ένα γραφικό αγωγό γνωστό ως OpenGL State Machine. Οι περισσότερες εντολές του OpenGL εκδίδουν πρωτότυπες λειτουργίες για την τμηματοποίηση των γραφημάτων. Μέχρι την έκδοση της έκδοσης 2.0, κάθε στάδιο της τμηματοποίησης εκτελέστηκε σε μια καθιερωμένη λειτουργία, με αποτέλεσμα τη μικρή δυνατότητα διαμορφώσεως. Από αυτήν την έκδοση, διάφορα στάδια είναι πλήρως προγραμματιζόμενα χρησιμοποιώντας το GLSL.

Επεκτάσεις

Ένα πολύ ενδιαφέρον χαρακτηριστικό είναι η υποστήριξη επέκτασης. Κάθε φορά που μια εταιρεία GPU εισάγει μια νέα τεχνολογία ή έναν νέο τρόπο βελτιστοποίησης για την απόδοση 3D εικόνων , είναι σε μια επέκταση που εφαρμόζεται στους οδηγούς. Εάν το υλικό στο οποίο εκτελείται μια εφαρμογή υποστηρίζει αυτή την επέκταση, ο προγραμματιστής μπορεί να χρησιμοποιήσει τη λειτουργικότητα που παρέχεται από την επέκταση για να αποκτήσει πιο προηγμένα ή αποδοτικά γραφικά. Με αυτόν τον τρόπο, ένας προγραμματιστής βιντεοπαιχνιδιών μπορεί να χρησιμοποιήσει αυτές τις νέες τεχνικές αποδόσεων χωρίς να χρειάζεται να περιμένει το OpenGL να συμπεριλάβει τη λειτουργικότητα σε μελλοντικές εκδόσεις, ελέγχοντας απλά εάν η κάρτα γραφικών υποστηρίζει την επέκταση. Συχνά, όταν μια επέκταση είναι δημοφιλής ή πολύ χρήσιμη, τελικά γίνεται μέρος μελλοντικών εκδόσεων του OpenGL.

Σας συστήνουμε Mad Max κυκλοφορεί υποστήριξη για το Vulkan στη νέα δημόσια beta για το Linux

Ανάπτυξη OpenGL

Τον Μάρτιο του 2015, το API Vulkan εισήχθη ως διάδοχος του OpenGL στο συνέδριο Developers Game. Αρχικά γνωστό ως "NextGeneration OpenGL" ή "glNext", η διεπαφή προγραμματισμού είναι ανοικτού κώδικα και cross-platform. Η διαφορά με το OpenGL είναι ότι περισσότερη προσοχή δίνεται στο υλικό κατά τη διάρκεια του προγραμματισμού, το οποίο αυξάνει σημαντικά την ισχύ. Ορισμένα παιχνίδια PC υποστηρίζουν ήδη το Vulkan, αλλά τα περισσότερα χρησιμοποιούν το DirectX. Το Vulkan αναπτύσσεται επίσης από την ομάδα Khronos.

Σας συνιστούμε να διαβάσετε τις καλύτερες κάρτες γραφικών στην αγορά.

Μέχρι στιγμής το άρθρο μας για το OpenGL, ελπίζουμε ότι έχετε καταλάβει τι αποτελείται και από πολλά άλλα. Εν πάση περιπτώσει, μπορείτε να αφήσετε οποιεσδήποτε ερωτήσεις στα σχόλια.

Εκπαιδευτικά σεμινάρια

Η επιλογή των συντακτών

Back to top button