OpenGL , eller Open Graphics Library , er en datamaskin grafikk API ( application programming interface ) for å skrive 2D og 3D datagrafikk applikasjoner på tvers av programmeringsspråk og plattformer . Den kan brukes til å gjengi alt fra enkle , primitive gjenstander til komplekse 3D- scener. OpenGL er mye brukt i profesjonell datamaskin- assistert konstruksjon , vitenskapelig visualisering , fly simulering og videospill. Mens OpenGL ikke har noen metoder for å tegne direkte en sirkel , en sirkel konstrueres ved hjelp av en rekke linjer . Du trenger en grunnleggende kunnskap om OpenGL til å tegne en sirkel . Du trenger
datamaskin med støtte for OpenGL
tekst editor og C-språk kompilering verktøy eller C utviklingsmiljø
Vis flere instruksjoner
en
Sett opp et grunnleggende program som viser en OpenGL viewport vinduet. Hvis du er ukjent med denne prosessen , er det en tutorial på grunnleggende OpenGL
2
Legg til math.h header-fil til programmet ved å skrive inn følgende kode i begynnelsen av programmet . : # include Dette vil gi deg de cos () og sin ( ) funksjoner ( cosinus og sinus ) som trengs for å beregne sirkelen .
3 Begynn sirkel metode ved å legge følgende kode før skjermen tilbakekallsfunksjon : void drawCircle ( glimt x , glimt y , glimt radius, int num_lines ) { } variablene \\ "x \\ " og \\ " y \\" vil bli brukt til å sette sentrum av sirkelen i vinduet, mens \\ " radius \\" , selvfølgelig, setter sirkelens radius . Den heltall \\ " num_lines \\" er antall linjer som brukes til å komponere sirkelen . Jo høyere tall , jo jevnere sirkelen vil synes å være
4
Legg til følgende oppsett kode inne i parentes : . Float vinkel GO int num_lines GO glColor3f (0.0 , 0.0 , 0.0 ) GO den variable \\ " vinkel \\" vil inneholde vinkelen av de linjer som brukes til å konstruere den sirkel . Kallet til glColor3f ( )-funksjonen setter farge på linjene til svart , der serien på tre 0s tilsvarer intensiteten av rødt , grønt og blått på en skala fra 0 til 1. .
5 < p> Legg til følgende kode under glColor3f ( ) telefon fra Trinn 4 : glBegin ( GL_LINE_LOOP ) GO Dette forteller OpenGL at eventuelle følgende linjer involverer trekke linjer . Spesielt trekker dette en \\ " GL_LINE_LOOP , \\" som trekker en rekke tilkoblede linjer
6
Skriv inn følgende for - løkke kode etter glBegin ()-kallet : . For ( int i = 0 ; i < num_lines ; i + + ) { vinkel = i * 2 * M_PI /num_lines ; glVertex2f ( x + (cos ( vinkel ) * radius) , y + (sin ( vinkel ) * radius) ) ;} Denne sløyfen oppnår tre ting. Først, gjentar det num_lines ganger , hvor num_lines er et heltall , å tegne en linje for hver gjentakelse , og som resulterer i en krets bestående av num_lines rette linjer. For det andre beregner den vinkelen av linjene i relasjon til sentrum av sirkelen i radianer. \\ " M_PI \\" er en konstant variabel definert i math.h representerer pi. Til slutt, glVertex2f ()-kallet beregner ( x , y ) koordinatene til endepunktene på linjene
7
Etter for - loop, skriv inn følgende kodelinje : . Glend ( ) GO Dette forteller OpenGL du er ferdig å tegne linjer .
8
å trekke sirkelen i scenen din , legge til et anrop til drawCircle ()-metoden til ditt program display tilbakeringing funksjonen, som du bør ha forberedt i trinn 1 . Angi verdier for x, y , radius og num_lines , der x og y representerer et punkt innenfor scenen , er en radius radien av sirkelen , og num_lines er antall linjer som utgjør kretsen . Igjen , hvis du er ukjent med OpenGL og displayet tilbakeringing , se OpenGL opplæringen.
9
kompilere og kjøre programmet . Hvis du har angitt funksjonen riktig, bør det kompilere uten feil . Hvis du har angitt gyldige verdier for x , y og radius, bør du se en svart sirkel vises på en hvit bakgrunn.