Što je OpenGL® Game Engine?

Motor igre Open Graphics Library® (OpenGL®) je knjižnica za programiranje ili druga zbirka softvera koja je namijenjena olakšavanju stvaranja videoigara pružanjem potpuno implementiranog okvira koji se može izgraditi za stvaranje prilagođene aplikacije. Osnova za bilo koji OpenGL® game engine je sučelje između logike programiranja više razine i OpenGL® knjižnica koje zauzvrat pristupaju grafičkom hardveru niske razine. Neki se motori prvenstveno usredotočuju na jednostavan pristup posebnim grafičkim značajkama i algoritmima uključujući optimizirane funkcije za efekte kao što su zamućenje, svjetlosne karte ili prilagođeni shaderi. Češće, OpenGL® game engine dodaje različite razine funkcionalnosti putem knjižnica više razine, skriptnih jezika ili čak prilagođenih razvojnih okruženja. Neke od značajki različitih OpenGL® igara uključuju rutine korisničkog unosa, renderiranje sjena, okvir grafičkog korisničkog sučelja (GUI), mrežnu podršku, fiziku i napredne mehanizme za mjerenje vremena za glatke animacije.

Prilikom stvaranja igara koje koriste OpenGL®, bilo da su dvodimenzionalne (2D) ili trodimenzionalne (3D), mora se napisati prilična količina programskog koda kako bi se većinom statične OpenGL® knjižnice kodova integrirale u dinamično okruženje igre u kojem objekti se mijenjaju i pomiču, a korisnici mogu komunicirati s virtualnim svijetom. Primarna svrha OpenGL® game engine-a je ukloniti potrebu za ponovnim pisanjem ove vrste šablonskog koda i umjesto toga ponuditi dosljedan i strukturiran okvir za izgradnju igre. OpenGL® sadrži samo funkcije za prikaz ili generiranje grafike na uređaju, tako da svu logiku igre treba obaviti oko te jezgre, uključujući razvoj načina za integraciju objekata koji se kreću unutar scene ili koji se mogu dodati ili izbrisati iz scene. Struktura koja koristi OpenGL® za dinamičke grafičke objekte općenito je poznata kao graf scene i temelj je za mnoge implementacije OpenGL® game enginea.

Drugi razlog zašto bi razvojni programeri mogli koristiti motor OpenGL® igre je uklanjanje potrebe za integracijom nekoliko različitih elemenata igre u jedan okvir, što može potrajati dugo da se ispravno izvede. Korisnički unos s tipkovnice, elementi GUI-ja kao što je prozor za odabir opcija da ili ne, pa čak i optimizacije za određene popularne grafičke kartice mogu biti uključene u OpenGL® motor igre, što programerima čini nepotrebnim razvrstavanje hardverskih specifikacija za pisanje sami kod. Kao kompromis, motori koji imaju tako složene mogućnosti općenito su vrlo skupi ili imaju vrlo restriktivne licence za komercijalnu upotrebu, iako neki motori za igre otvorenog koda postoje.

Pojam “OpenGL® game engine” također se može odnositi na dovršenu računalnu igru ​​kojoj je uklonjena većina ili sve prilagođene datoteke s podacima, ostavljajući samo kompilirani programski kod. To omogućuje korisniku da stvori prilagođenu grafiku, karte i ponekad skriptirane događaje koje učitava motor igre. Igranje igre se obično ne može mijenjati u velikoj mjeri u ovoj vrsti igre i umjesto toga služi kao platforma za korisnike za stvaranje prilagođenih razina i sadržaja za razliku od samostojeće originalne igre.