Hva er en OpenGL®-sirkel?
Det er ingen reell innebygd form primitiv for en grunnleggende OpenGL®-sirkel (OpenGL®), så tegning av en sirkel innebærer å følge en enkel algoritme for å bestemme plasseringen av punktene, hvoretter punktene kan kobles til linjer for å danne sirkel. I de fleste tilfeller er en OpenGL®-sirkel tilnærmet for en sanntids gjengivelsesapplikasjon og består faktisk av et antall rette linjer som ser ut som en sirkel når avstanden mellom endepunktene på linjene er kort nok. Et triks som kan bidra til å gjøre en sirkel glatt, er å muliggjøre blanding og å bruke tegningsmodus for jevn linje for å redusere utseendet på vinklene der to linjer kobles sammen på omkretsen av sirkelen. En annen måte å tegne en sirkel på er å bruke OpenGL®-formen primitive kjent som en disk, som egentlig er en todimensjonal (2D) sirkel som har en ekstra indre sirkel som kan stilles inn slik at den passer til ytterkantens diameter til noe ineffektivt tegne en OpenGL®-sirkel.
Den enkle definisjonen av en sirkel er en 2D-form der hvert kantpunkt er nøyaktig samme avstand fra et gitt midtpunkt. Den mest grunnleggende algoritmen for å tegne en OpenGL®-sirkel er å plotte punkter fra en midtkoordinat ved hjelp av sinus- og kosinusfunksjonene i en løkke som går gjennom en vinkelgrad opp til 360 °. Å trå 1 grad om gangen er imidlertid ganske ineffektivt, så trinnene blir vanligvis utført i større trinn. Jo større trinn, jo mer kantet vil sirkelen se ut, med det ultimate eksemplet en sirkel tegnet med bare fire punkter, noe som vil utgjøre en firkant.
Under hvert trinn i å bestemme koordinaten til et punkt på kanten av en OpenGL®-sirkel, kan det trekkes en linje fra det siste punktet til det gjeldende punktet. Det er vanligvis raskere å bruke en linjelist for å lage en komplett sirkel enn å tegne separate linjer individuelt. Når punktene som utgjør sirkelen er beregnet, kan de lagres i en matrise og oversettes akkurat som ethvert sett med OpenGL®-hjørner.
En OpenGL®-disk er en primitiv form som OpenGL®-biblioteket kan tegne naturlig. Den er laget av en ytre sirkel og en indre sirkel, hvor området mellom indre og ytre sirkler er solid og fylt. OpenGL®-disken kan brukes til å tegne en OpenGL®-sirkel ved å innstille den indre radiusen til å passe til den ytre radius, selv om denne teknikken betyr at sirkelen virkelig er tegnet to ganger på grunn av indre og ytre kanter og kan etterlate noen grafiske gjenstander når den roteres ved forskjellige vinkler.