OpenGL

Wikipedia
Loikkaa: valikkoon, hakuun
OpenGL

OpenGL logo.jpg

Kehittäjä Silicon Graphics / Khronos
Kehityshistoria
Vakaa versio 4.4 / 22. heinäkuuta 2013
Tiedot
Alusta laitteistoriippumaton
Lisenssi useita
Verkkosivu opengl.org

OpenGL (Open Graphics Library) on laitteistoriippumaton ohjelmointirajapinta interaktiivisen tietokonegrafiikan tuottamiseen. Se koostuu muutamasta sadasta funktiosta, joita voidaan käyttää monimutkaisten kolmiulotteisten mallien tai yksinkertaisten muotojen piirtämiseen. Sitä käytetään usein videopeliteollisuudessa, jossa se kilpailee Microsoftin Direct3D:n kanssa. OpenGL:ää käytetään myös usein tietokoneavusteisessa suunnittelussa (CAD) ja muissa visualisoinneissa.

OpenGL on tilakone joka koostuu asiakkaasta (client) ja palvelimesta (server). Asiakas on rakennettu CPU:lla ajettavaan OpenGL-rajapintaan ja palvelin tarkoittaa näytönohjaimen ajurin ohjaamia GPU:n varsinaisia suoritusyksiköitä. Käyttöjärjestelmän OpenGL-pino voi olla näytönohjaimen valmistajan tarjoama (kuten Windowsissa), erillinen komponentti (esimerkiksi Mesa Linuxissa) tai osa käyttöjärjestelmää (OS X).

OpenGL on pelkkä grafiikkakirjasto, eli siltä puuttuu kokonaan esimerkiksi kyky lukea käyttäjän syötettä, hallita ikkunoita, ladata kuvaformaatteja, jne. Näiden asioiden hoitamiseen on tehty useita erillisiä rajapintoja. Näitä ovat mm. GLUT, GLFW, SDL ja SFML.

Historia[muokkaa | muokkaa wikitekstiä]

OpenGL:n kehitti Silicon Graphics vuonna 1992, ja tehokkaimmat laitteistotason OpenGL-toteutukset löytyivätkin pitkään SGI:n omista grafiikkatyöasemista. Myöhemmin 3Dlabs vaikutti merkittävästi OpenGL 2.0:aan (2004), joka toi kirjastoon mahdollisuuden käyttää varjostimia (shader), joihin moderni grafiikkaohjelmointi laajalti perustuu (alkeellinen shader-tuki oli olemassa jo OpenGL 1.4:ssä laajennusten kautta). Syyskuussa 2006 OpenGL:n päävastuu siirtyi SGI:ltä Khronos Groupin alaisuuteen.

OpenGL:ää on pidetty hyvin suunniteltuna ja se on pysynyt pitkiä aikoja samanlaisena. Suurimmat muutokset ovat olleet 2.0:n tuoma uusi lähestymistapa ja 3.x-versioissa vanhojen toiminnallisuuksien karsiminen kokonaan pois. OpenGL:n tuorein versio, 4.4, julkaistiin 22. heinäkuuta 2013.[1] Uusien grafiikkakorttien ominaisuuksiin joita ei vielä ole sisällytetty OpenGL:ään, pääsee käsiksi OpenGL:n laitteistokohtaisilla laajennuksilla (extensions). Niitä käyttämällä laitteistoriippumattomuus kuitenkin menetetään.

Varjostimet[muokkaa | muokkaa wikitekstiä]

Varjostimet ovat näytönohjaimessa ajettavia ohjelmia jotka mahdollistavat grafiikan manipuloinnin erittäin korkealla suorituskyvyllä. Varjostimia ajetaan useita rinnakkain ja niille voidaan kuljettaa erilaisia parametreja pääohjelmasta. Kulmapistevarjostin muokkaa kulmapisteitä halutuilla laskutoimituksilla ja pikselivarjostin muokkaa rasteroidun pikselin arvoa. OpenGL sisältää GLSL-nimisen (OpenGL Shading Language) varjostinohjelmakielen, joka syntaksiltaan muistuttaa C-ohjelmointikieltä, joskin yksinkertaisempana. Varjostimet kääntyvät "lennossa" OpenGL-ajurilla silloin, kun ne halutaan ottaa käyttöön.

OpenGL ES[muokkaa | muokkaa wikitekstiä]

OpenGL ES (Embedded Systems) on sulautetuille järjestelmille räätälöity pelkistetty toteutus OpenGL:stä. Se mahdollistaa yksinkertaisemman näytönohjainpiirin suunnittelun, joka auttaa pienentämään virrankulutusta ja vähentämään laitteen hintaa. OpenGL ES:ää käytetään esimerkiksi älypuhelimissa, tableteissa, kannettavissa pelikoneissa ja monissa muissa kohteissa jossa täysveristä OpenGL-toteutusta ei tarvita. OpenGL ES:lle kirjoitettu koodi on yhteensopivaa tavallisen OpenGL:n kanssa.

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Viitteet[muokkaa | muokkaa wikitekstiä]

  1. [1], OpenGL tuorein versio
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.