Mis on OpenGL® mängumootor?

Open Graphics Library® (OpenGL®) mängumootor on programmeerimiskogu või muu tarkvarakogu, mis on mõeldud videomängude loomise hõlbustamiseks, pakkudes täielikult rakendatud raamistikku, millele saab kohandatud rakenduse loomiseks tugineda. Iga OpenGL®-i mängumootori aluseks on liides kõrgema taseme programmeerimisloogika ja OpenGL®-i teekide vahel, mis omakorda pääsevad juurde madala tasemega graafika riistvarale. Mõned mootorid keskenduvad peamiselt lihtsale juurdepääsule spetsiaalsetele graafilistele funktsioonidele ja algoritmidele, kaasates optimeeritud funktsioonid selliste efektide jaoks nagu hägustamine, valguskaardid või kohandatud varjutajad. Enamasti lisab OpenGL® mängumootor erineval tasemel funktsionaalsust kõrgema taseme teekide, skriptikeelte või isegi kohandatud arenduskeskkondade kaudu. Mõned erinevate OpenGL® mängumootorite funktsioonid hõlmavad kasutaja sisestusrutiine, varjude renderdamist, graafilise kasutajaliidese (GUI) raamistikku, võrgutugi, füüsikat ja täiustatud ajastusmehhanisme sujuvaks animatsiooniks.

OpenGL®-i kasutavate mängude loomisel, olgu need siis kahemõõtmelised (2D) või kolmedimensioonilised (3D), tuleb kirjutada üsna palju programmeerimiskoodi, et integreerida enamasti staatilised OpenGL® kooditeegid dünaamilisse mängukeskkonda, kus objektid muutuvad ja liiguvad ning kasutajad saavad virtuaalmaailmaga suhelda. OpenGL®-i mängumootori peamine eesmärk on kõrvaldada vajadus seda tüüpi standardkoodi ümber kirjutada ja selle asemel pakkuda mängu loomiseks ühtset ja struktureeritud raamistikku. OpenGL® sisaldab ainult funktsioone seadmes graafika kuvamiseks või renderdamiseks, nii et kogu mänguloogika peab olema selle tuuma ümber, sealhulgas tuleb välja töötada viis, kuidas integreerida objekte, mis liiguvad stseenis või mida saab stseenist lisada või sealt kustutada. Dünaamiliste graafiliste objektide jaoks OpenGL®-i kasutavat struktuuri tuntakse üldiselt stseenigraafikuna ja see on paljude OpenGL®-i mängumootori rakenduste aluseks.

Teine põhjus, miks arendajad võivad OpenGL®-i mängumootorit kasutada, on kaotada vajadus integreerida mitu erinevat mängu elementi ühte raamistikku, mille õigeks tegemine võib võtta kaua aega. Kasutaja sisestus klaviatuurilt, GUI elemendid (nt aken jah või ei valikute tegemiseks) ja isegi teatud populaarsete graafikakaartide optimeerimised võivad kõik olla kaasas OpenGL® mängumootoriga, mistõttu pole arendajatel vaja kirjutamiseks riistvaraspetsifikatsioone sorteerida. kood ise. Kompromissina on nii keerukate võimalustega mootorid üldiselt väga kallid või neil on kommertskasutuseks väga piiravad litsentsid, kuigi mõned avatud lähtekoodiga mängumootorid on olemas.

Mõiste “OpenGL® mängumootor” võib viidata ka lõpetatud arvutimängule, mille kohandatud andmefailidest on eemaldatud enamik või kõik, jättes alles ainult kompileeritud programmeerimiskoodi. See võimaldab kasutajal luua kohandatud graafikat, kaarte ja mõnikord skriptitud sündmusi, mille mängumootor laadib. Mängu mängimist ei saa seda tüüpi mängumootorites tavaliselt suurel määral muuta ja selle asemel on see platvorm kasutajatele kohandatud tasemete ja sisu loomiseks, mitte eraldiseisvale algsele mängule.