Vad är en OpenGL®-skärm?

I datorgrafikprogrammering är en Open Graphics Library® (OpenGL®)-skärm ett område på en bildskärm eller annan visuell visningsenhet som hanteras antingen helt eller delvis av OpenGL®-biblioteken och drivrutinerna. En OpenGL®-skärm kan vara en hel skärm, vilket är känt som helskärmsläge, eller så kan det bara vara området inuti ett fönster inom ett grafiskt användargränssnitt (GUI) eller en liten panel inbäddad i en större layout, när den större layouten hanteras inte av OpenGL®. Vissa operativsystem och datorkonfigurationer använder OpenGL® som standardmetod för att rita till en skärm, vilket innebär att tekniskt sett allt som visas på bildskärmen finns i en OpenGL®-skärm.

De flesta slutanvändare gör ingen skillnad mellan vad som är och inte är en OpenGL®-skärm, eftersom denna typ av teknisk aspekt vanligtvis är transparent i de flesta program. Ur ett datorgrafikprogrammeringsperspektiv måste dock en OpenGL®-skärm vara en känd kvantitet som skapas med specifika attribut som dimensioner, färgdjup och andra egenskaper. Själva displayen är i grunden ett rektangulärt kartesiskt rutnät som relaterar till det rektangulära området på den fysiska skärmen där den kommer att visas. Grafikhårdvaran och OpenGL®-drivrutinerna använder båda attributen för OpenGL®-skärmen under rastreringsprocessen, vilket innebär att tredimensionella (3D) objekt som definieras matematiskt förvandlas till tvådimensionella (2D) pixlar som placeras på skärmen yta.

I allmänhet dras en OpenGL®-skärm vanligtvis inte direkt till en synlig skärm, mest för att den skapar visuella artefakter och rivning på skärmen. Istället är displayen kopplad till en specifik plats i minnet, en så kallad buffert, som dras till av OpenGL® ritkommandon. När bilden som ska visas har renderats kopieras den till displayen så att den visas på skärmen så snabbt som möjligt.

Till viss del är användningen av OpenGL®-skärmen abstraherad för programmerare. Som med många aspekter av OpenGL® finns det funktioner som kan definiera, rita till och på annat sätt manipulera displayen, men de kan ge olika resultat på olika typer av hårdvara. Vissa konfigurationer, till exempel, kommer att försöka skala en bildskärm automatiskt för att passa ett givet område, oavsett hur många pixlar som finns i målrektangeln, vilket potentiellt minskar kvaliteten på den renderade ramen. Även med frågan om varierande kvalitet är det dock fortfarande fördelaktigt i de flesta fall att ha möjligheten att skicka utdata till vilken typ av displayenhet som helst, oavsett om det är en mobiltelefon, digital projektor eller virtuell verklighetsheadset.