OpenGL eller Open Graphics Library , er en computer grafik API ( application programming interface ) til at skrive 2D og 3D computergrafik applikationer på tværs af programmeringssprog og platforme. Det kan bruges til at gøre noget fra enkle, primitive objekter komplekse 3D scener. OpenGL er meget udbredt i professionel computer -assisteret design, videnskabelig visualisering , flyvesimulatorinstruktion og videospil. Mens OpenGL ikke har nogen metoder til direkte at tegne en cirkel , en cirkel konstrueres ved hjælp af en række linjer. Du får brug for en grundlæggende viden om OpenGL til at tegne en cirkel. Hvad du har brug
Computer med OpenGL support
tekst editor og C-sprog kompilere værktøj eller C udviklingsmiljø
Vis Flere Instruktioner
1
Opsæt en grundlæggende program der viser en OpenGL viewport vinduet. Hvis du ikke er bekendt med denne proces , er der en tutorial om det grundlæggende i OpenGL
2
Tilføj math.h header fil til dit program ved at indtaste følgende kode i starten af programmet. : # include Dette vil give dig de cos () og sin ( ) funktioner ( cosinus og sinus ), som bruges til at beregne cirklen.
3 Begynd din cirkel metode ved at tilføje følgende kode, før din skærm callback funktion : void drawCircle ( glimt x, glimt y, glimt radius , int num_lines ) { } de variabler \\ "x \\ " og \\ "y \\" vil blive brugt til at indstille midten af cirklen i dit vindue , mens \\ " radius \\ " selvfølgelig sætter cirklens radius . Den heltal \\ " num_lines \\ " er antallet af linjer , der anvendes til at komponere cirklen. Jo højere tallet er, jo glattere cirklen vil synes at være
4
Tilføj følgende set- up kode inde i parentesen: . Float vinkel GO int num_lines GO glColor3f (0.0 , 0.0 , 0.0) GO den variable \\ " vinkel \\ " vil indeholde den vinkel af de linjer, der anvendes til at konstruere cirklen. Opfordringen til glColor3f () funktion indstiller farven på stregerne til sort, hvor serie af tre 0'er svarer til intensiteten af rød, grøn og blå på en skala fra 0-1 .
5 < p> Føj følgende kode under glColor3f () opkald fra Trin 4: glBegin ( GL_LINE_LOOP ) GO Dette fortæller OpenGL , at eventuelle følgende linjer indebærer tegne streger . Konkret trækker en \\ " GL_LINE_LOOP , \\ " som trækker en række forbundne langliner
6
Indtast følgende for - loop kode efter glBegin () kalder : . For (int i = 0 ; i < num_lines , i + +) { vinklen = i * 2 * M_PI /num_lines , glVertex2f (x + ( cos (vinkel) * radius) , y + ( sin ( vinkel) * radius) );} Denne løkke udretter tre ting. For det første gentager num_lines tider , hvor num_lines er et heltal, trække en linje i hver iteration og som resulterer i en cirkel bestående af num_lines lige linjer. For det andet beregner vinklen af linjerne i forhold til midten af cirklen i radianer . \\ " M_PI \\ " er en konstant variabel, defineret i math.h repræsenterer pi . Endelig glVertex2f () kalder beregner (x, y) -koordinaterne for endepunkterne for linjerne
7
Efter for - loop, skal du indtaste følgende linje kode : . Glend () gå denne fortæller OpenGL du er færdig tegning linjer.
8
For at tegne en cirkel i din scene , tilføje et opkald til den drawCircle () metode til dit program display callback funktion , som du bør have forberedt i trin 1 . Angiv værdier for x, y , radius , og num_lines , hvor x og y betegner et punkt inden din scene , radius er en radius af cirklen , og num_lines er antallet af linjer som udgør cirklen . Igen, hvis du ikke er bekendt med OpenGL og displayet tilbagekald henvises til OpenGL tutorial.
9
kompilere og køre dit program. Hvis du har indtastet den funktion korrekt, bør det kompilere uden fejl. Hvis du har angivet gyldige værdier for x, y og radius , bør du se en sort cirkel vises på en hvid baggrund.