Mis on OpenGL® värvimistööriist?

OpenGL®-i värvimistööriist on programm, mis on loodud selleks, et anda kasutajale võimalus luua pilt, mis renderdatakse OpenGL®-i graafikateegi ja võimalusel ka riistvarafunktsioonide ja kiirenduse abil. OpenGL® värvimistööriista ja teiste värviprogrammide erinevus seisneb selles, et OpenGL® põhineb kolmemõõtmelisel (3D) geomeetrial, samas kui enamik teisi värviprogramme kasutab kahemõõtmelisi (2D) tasaseid pindu. 2D-värvimisprogramm salvestab pikslite värvid, 3D-värvimisprogramm aga kujundeid, mida saab hiljem hõlpsasti töödelda. OpenGL®-i värvimistööriista kasutamisel on mõnede standardsete 2D-värvimisprogrammide ees eeliseid, kuid võib esineda ka mõningaid tüsistusi, mis võivad muuta selle kasutamise mõnes arvutisüsteemis keeruliseks või teatud rakenduste jaoks sobimatuks.

Kõige lihtsamas mõttes on kõik programmid, mis kasutavad liidese ja lõuendi renderdamiseks või kuvamiseks OpenGL®-i väljundmeetodina, tehniliselt OpenGL®-i värvitööriista. Programm võib olla täiesti 2D orientatsiooniga, lihtsalt muutes tekstuurikaarti tasasel ristkülikul, mis on sama suur kui vaateala, et võimaldada värvimist. OpenGL®-i kasutamine seda tüüpi rakenduste jaoks võib aga olla raiskav, sest graafikateegi loomuliku 3D kalduvuse õõnestamiseks tuleb välja töötada palju lahendusi.

Enamasti sarnaneb OpenGL®-i värvimistööriist vektorpõhise graafikaprogrammiga. See tähendab, et kui kasutaja joonistab programmi lõuendile joone, ringi või joone, salvestatakse see geomeetrilise kujundina, mitte pikslite kogumina. Kui kujundi geomeetria on määratletud, muutub ainult selle üksiku objekti muutmine ülejäänud maalitud kujutisest sõltumatuks uskumatult lihtsaks. 2D-programmides võib see olla keeruline, kuna piksliteave võib olla mitmetähenduslik ning teatud alade eraldamine ja seejärel manipuleerimine võib võtta aega.

OpenGL®-i värvimistööriista teine ​​võimas kasutusala on 3D-pinna või võrgusilma tekstureerimine või värvimine. See hõlmab 3D-objekti kuvamist ühendatud kolmnurkade seeriana, mida nimetatakse kolmnurga võrguks, ja seejärel lubada kasutajal objekti pinnale maalida. See on kasulik 3D-kunstnikele, sest kui pind on värvitud, saab luua ja salvestada pildifaili, nii et objekti saab reaalajas 3D-programmis, rakenduses või mängus tekstuuri kaardistada. Põhjus, miks see mõnel juhul vajalik on, seisneb selles, et tasane 2D-tekstuuripilt näib ettearvamatult moonutatud, kui see pole ümber 3D-objekti mähitud.

OpenGL®-i kasutamine programmi kuvamismeetodina võib mõnes süsteemis probleeme tekitada. Kõik graafikakaardid ei toeta OpenGL®-i ja mõnel, millel on draiveritega jõudlusprobleeme, on. Samuti on süsteeme, mis emuleerivad ainult OpenGL®-i renderdamist, mis tähendab, et graafikakaardi asemel töötleb tegelikult tarkvara, mistõttu renderdamine toimub väga aeglaselt.