Cos'è una classe OpenGL®?

Una classe OpenGL® può fare riferimento a un'implementazione orientata agli oggetti di parti dell'interfaccia di programmazione astratta OpenGL® (API) o a una classe che utilizza le chiamate di funzione OpenGL® all'interno del proprio codice. La natura della libreria OpenGL® significa che non esisteva davvero alcun supporto per una versione orientata agli oggetti dell'API e la maggior parte dei programmi chiamati funzioni come sono state scritte, al di fuori di una classe. Man mano che i linguaggi orientati agli oggetti diventavano più diffusi, diverse librerie di classi OpenGL® sembravano fungere da oggetti wrapper per la libreria principale. Ci sono vantaggi nell'utilizzo di una classe OpenGL® che è stata pienamente realizzata anziché solo la raccolta di funzioni fornite nella libreria, incluso l'incapsulamento e un modo per derivare nuove classi funzionali attraverso l'eredità, proteggendo l'implementazione di base. Non tutti gli sviluppatori utilizzano una libreria di classi OpenGL®, perché può essere fonte di passare a paradigmi di programmazione completamente orientati agli oggetti.

In Object Oriented ProGramming, una classe è una raccolta di dati, variabili e funzioni, chiamati metodi, che modificano le informazioni che contiene. Le origini di OpenGL® come libreria di funzioni per il linguaggio di programmazione C, che non era un linguaggio orientato agli oggetti, significa che alcune delle metodologie e le pratiche di programmazione che si sono sviluppate non erano adatte alla programmazione orientata agli oggetti. Quando alcuni sistemi operativi e altri dispositivi hanno iniziato a fare più affidamento sui linguaggi orientati agli oggetti, sono nate diverse librerie di classe OpenGL®.

Alcune delle librerie di classe OpenGL® hanno semplicemente incapsulato le funzioni OpenGL® di base. Ciò ha fornito un framework sicuro e compatibile per la programmazione. Sebbene questo tipo di classe fosse necessario per alcune lingue, richiedeva comunque che le classi di supporto fossero trasformate in un'applicazione funzionale. Le biblioteche veramente organizzate hanno effettivamente diviso le funzioni OpenGL® in aserie di classi, con ognuna che gestisce un diverso elemento della libreria, come il rendering.

Un certo numero di librerie di classi OpenGL® hanno iniziato ad espandersi sul motore OpenGL® di base e hanno iniziato a includere più funzionalità. Ciò includeva principalmente una classe speciale per gestire gli oggetti in una scena, chiamato grafico di scena. Queste classi fungevano da involucri per le biblioteche principali fornendo una struttura logica che poteva essere costruita per creare un programma che facesse più che rendere una scena e uscire senza dover inventare un nuovo framework OpenGL® ogni volta.

Quasi tutte le librerie OpenGL®, comprese le librerie di utilità, sono state tradotte in un modo o nell'altro in una forma orientata agli oggetti. Ciò, in alcuni casi, ha reso più facile per gli sviluppatori mantenere OpenGL® aggiornato sui vari dispositivi che esistono formando un progetto prevalentemente uniforme su come implementare OpenGL® in un ambiente orientato agli oggetti. Con l'aggiunta di strumenti di sviluppo orientati agli oggetti, iT ha anche permesso di trascinare e rilasciare una classe OpenGL® in un programma che supporta lo sviluppo visivo, semplificando alcuni degli aspetti più complicati.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?