Wat is een OpenGL® -game -engine?
Een open grafische bibliotheek® (OpenGL®) -game -engine is een programmeerbibliotheek of andere verzameling software die bedoeld is om het maken van videogames te vergemakkelijken door een volledig geïmplementeerd raamwerk te bieden dat kan worden gebouwd om een aangepaste applicatie te maken. De basis voor elke OpenGL®-game-engine is de interface tussen programmeerlogica op een hoger niveau en de OpenGL®-bibliotheken die op hun beurt toegang hebben tot grafische hardware op laag niveau. Sommige motoren zijn vooral gericht op gemakkelijke toegang tot speciale grafische functies en algoritmen door geoptimaliseerde functies op te nemen voor effecten zoals vervagen, lichtkaarten of aangepaste shaders. Vaker voegt een OpenGL®-game-engine verschillende functionaliteitsniveaus toe via bibliotheken op een hoger niveau, scripttalen of zelfs aangepaste ontwikkelingsomgevingen. Sommige functies van verschillende OpenGL® -gamesmotoren omvatten gebruikersinvoerroutines, schaduwweergave, een grafische gebruikersinterface (GUI), netwerkondersteuning, natuurkunde en geavanceerde timing Mechaten voor soepele animaties.
Bij het maken van games die OpenGL® gebruiken, of ze nu tweedimensionaal (2D) of driedimensionaal (3D) zijn, moet een behoorlijke hoeveelheid programmeercode worden geschreven om de meestal statische OpenGL®-codebibliotheken te integreren in een dynamische spelomgeving waarin objecten veranderen en verplaatsen en gebruikers kunnen communiceren met de virtuele wereld. Een primair doel van een OpenGL® -game -engine is het verwijderen van de noodzaak om dit type boilerplate -code te herschrijven en in plaats daarvan een consistent en gestructureerd framework te leveren om een spel te bouwen. OpenGL® bevat alleen functies om afbeeldingen weer te geven of weer te geven aan een apparaat, dus alle spellogica moet om die kern worden gewikkeld, inclusief het ontwikkelen van een manier om objecten te integreren die in een scène gaan of die kunnen worden toegevoegd of verwijderd uit een scène. Een structuur die OpenGL® gebruikt voor dynamische grafische objecten staat algemeen bekend als een scène GRaph en is de basis voor veel OpenGL® -game -engine -implementaties.
Een andere reden waarom een OpenGL® -game -engine door ontwikkelaars kan worden gebruikt, is om de noodzaak om verschillende verschillende elementen van een game in een enkel framework te integreren, weg te nemen, wat lang kan duren om het goed te doen. Gebruikersinvoer van een toetsenbord, GUI -elementen zoals een venster om ja of nee -opties te selecteren, en zelfs optimalisaties voor bepaalde populaire grafische kaarten kunnen allemaal worden opgenomen met een OpenGL® -game -engine, waardoor het voor ontwikkelaars is om hardwarespecificaties te sorteren om de code zelf te schrijven. Als een afweging zijn motoren met dergelijke complexe mogelijkheden over het algemeen erg duur of dragen ze zeer beperkende licenties voor commercieel gebruik, hoewel sommige open source game -motoren bestaan.
De term "OpenGL® Game Engine" kan ook verwijzen naar een voltooid computerspel dat de meeste of al zijn aangepaste gegevensbestanden heeft verwijderd, waardoor alleen de gecompileerde programmeercode blijft. Hierdoor kan een gebruikerMaak aangepaste afbeeldingen, kaarten en soms gescripte gebeurtenissen die worden geladen door de game -engine. Het spelspel is meestal niet in grote mate in dit type game -engine te wijzigen en dient in plaats daarvan als een platform voor gebruikers om aangepaste niveaus en inhoud te maken in tegenstelling tot een vrijstaand origineel spel.