Mikä on OpenGL® -projektio?

OpenGL®-projektio on prosessi ja kuva, joka syntyy kolmiulotteisten (3D) objektien kääntämisestä kohdistetuksi kaksiulotteiseksi (2D) kuvaksi, joka voidaan näyttää näytöllä. Sana “projektio” tietokonegrafiikan ohjelmoinnissa viittaa siihen, että kohtauksen 3D -objektit on siirrettävä matemaattisesti tai projisoitava virtuaaliselle 2D -pinnalle, jotta ne voidaan näyttää laitteen tasaisella näytöllä. Vaikka koko tapahtumasarja, joka ottaa 3D -objektin ja tekee siitä 2D -pinnan, voidaan kutsua projektioksi, termiä sovelletaan myös suppeammin tiettyyn geometristen muunnosten joukkoon grafiikkaputkessa, joka tapahtuu askeleena muiden joukkojen välillä muunnokset. Ohjelmoijien käytettävissä olevat kaksi erityistä OpenGL® -projisointitilaa ovat perspektiivi- ja ortografiset.

OpenGL® -projektion luomisen haasteena on kerätä tiedot, jotka käsittävät tietyn kohtauksen kaikki objektit, ja säätää niitä siten, että näytössä näkyvät objektit ovat yhdenmukaisia ​​heijastustilan, katselun äänenvoimakkuuden ja virtuaalikameran asetusten kanssa. Katselun äänenvoimakkuus on näkymän näkyvä alue katsojan sijainnista näkymässä tai silmien sijainti. Kuusi numeroa määrittävät katselun äänenvoimakkuuden, mukaan lukien oikean, vasemman, ylä- ja alareunan katselukehyksen virtuaalikeskipisteestä. Lisäksi kaksi arvoa, jotka tunnetaan lähi- ja kaukotasoina, määrittävät katselumäärän syvyyden. Tämä tilavuus määrittää, mitkä objektit heijastetaan, kun taas kaikki muut äänenvoimakkuuden ulkopuolella olevat objektit ohitetaan tai leikataan, jotta näkymättömiä osia ei arvioida.

Ensimmäinen OpenGL® -projisointitila, jota voidaan käyttää, tunnetaan ortografisena heijastuksena. Tässä tilassa otoksen kohteiden koordinaatteja ei säädetä niiden etäisyyden tai katsojan etäisyyden mukaan. Tämä tarkoittaa, että kaikki kohteet on piirretty samankokoisiksi riippumatta etäisyydestä katsojasta. Tätä OpenGL® -heijastustilaa käytetään useimmiten 3D -mallinnusohjelmissa, suunnittelusuunnitteluohjelmissa ja sovelluksissa, jotka käyttävät 3D -monikulmioita 2D -yhdistelmäkuvien luomiseen eivätkä vaadi tarkkaa perspektiiviä.

Yleisimmin käytetty OpenGL® -projisointitila tunnetaan perspektiiviprojektiona. Perspektiiviprojektiotilassa kohtauksen kohteet skaalataan ja sijoitetaan niiden etäisyyden mukaan katsojasta. Tämä tarkoittaa sitä, että kauempana olevat kohteet näyttävät pienemmiltä. Se tarkoittaa myös sitä, että kohtauksen kohteita säädetään siten, että ne lähentyvät hitaasti katselupisteessä, joka tunnetaan katoamispisteenä. Perspektiivinen projektio mallintaa tarkasti, miltä todellinen maailma näyttää, ja sitä käytetään luomaan realistisia renderöintejä teknisten vastakohtien sijaan.