Hvad er en OpenGL® -klasse?
En OpenGL®-klasse kan enten henvise til en objektorienteret implementering af dele af OpenGL® Abstract Programming Interface (API) eller til en klasse, der bruger OpenGL®-funktionsopkald inden for sin egen kode. Arten af OpenGL® -biblioteket betyder, at der virkelig ikke var nogen støtte til en objektorienteret version af API, og de fleste programmer kaldte funktionerne, som de blev skrevet, uden for en klasse. Efterhånden som objektorienterede sprog blev mere udbredt, så forskellige OpenGL® -klassebiblioteker ud til at fungere som indpakningsobjekter for kernebiblioteket. Der er fordele ved at bruge en OpenGL® -klasse, der er blevet fuldt ud realiseret i stedet for kun indsamlingen af funktioner, der leveres på biblioteket, herunder indkapsling og en måde at udlede nye funktionelle klasser gennem arv, mens den grundlæggende implementering beskytter. Ikke alle udviklere bruger et OpenGL® -klassebibliotek, fordi det kan være forvirrende at skifte til fuldt objektorienterede programmeringsparadigmer.
i objektorienteret proGramming, en klasse er en samling af data, variabler og funktioner, kaldet metoder, der ændrer de oplysninger, den indeholder. Oprindelsen af OpenGL® som et bibliotek med funktioner til C -programmeringssprog, som ikke var et objektorienteret sprog, betyder, at nogle af de metodologier og programmeringspraksis, der udviklede sig, ikke var velegnet til objektorienteret programmering. Da nogle operativsystemer og andre enheder begyndte at stole mere på objektorienterede sprog, kom flere OpenGL® -klassebiblioteker til.
Nogle af OpenGL® Class -bibliotekerne indkapslede simpelthen de grundlæggende OpenGL® -funktioner. Dette gav en sikker og kompatibel ramme for programmering. Selvom denne type klasse var nødvendig for, at nogle sprog stadig krævede, at understøttende klasser skulle laves til en funktionel applikation. Virkelig organiserede biblioteker delte faktisk OpenGL® -funktionerne i enserie af klasser, hvor hver enkelt administrerer et andet element i biblioteket, såsom gengivelse.
Et antal OpenGL® -klassebiblioteker begyndte at udvide på Basic OpenGL® -motoren og begyndte at omfatte mere funktionalitet. Dette omfattede primært en speciel klasse til håndtering af objekterne i en scene, kaldet en scenegraf. Disse klasser fungerede som indpakning for kernebibliotekerne, mens de leverede en logisk struktur, der kunne bygges på for at lave et program, der gjorde mere end at gøre en scene og udgang uden at skulle opfinde en ny OpenGL® -ramme hver gang.
Næsten hvert OpenGL® -bibliotek, inklusive værktøjsbiblioteker, er blevet oversat på en eller anden måde til en objektorienteret form. Dette har i nogle tilfælde gjort det lettere for udviklere at holde OpenGL® opdateret på de forskellige enheder, der findes ved at danne en for det meste ensartet plan for, hvordan man implementerer OpenGL® i et objektorienteret miljø. Med tilføjelsen af objektorienterede udviklingsværktøjer, jegT har også gjort det muligt at trække og droppe en OpenGL® -klasse ind i et program, der understøtter visuel udvikling, hvilket forenkler nogle af de mere komplicerede aspekter.