Cum se face un cerc în OpenGL

Autor: Sara Rhodes
Data Creației: 16 Februarie 2021
Data Actualizării: 20 Mai 2024
Anonim
Cum se face un cerc în OpenGL - Articole
Cum se face un cerc în OpenGL - Articole

Conţinut

OpenGL sau Open Graphics Library este un grafic API (Application Programming Interface) pentru scrierea de aplicații 2D și 3D în diferite limbi și platforme de programare. Acesta poate fi folosit pentru a face ceva de la obiecte simple și primitive la scenele 3D complexe. Open GL este utilizat pe scară largă în design computerizat, vizualizare științifică, simulare de zbor și jocuri video. Chiar dacă OpenGl nu are metode pentru a desena un cerc direct, este posibil să se construiască unul utilizând o serie de linii. Veți avea nevoie de cunoștințe de bază despre OpenGL pentru a desena cercul.


instrucțiuni de ghidare

Nu există o metodă directă de a face un cerc în OpenGL, dar este încă posibil să compunem unul cu liniile corecte de cod (Creatas / Creatas / Getty Images)
  1. Efectuați un program de bază cu o fereastră de vizualizare OpenGL. Dacă nu sunteți familiarizat cu acest proces, există un tutorial pe pagina OpenGL.

  2. Adăugați fișierul math.h.header în programul dvs. introducând următorul cod la începutul programului: #include . Acest lucru vă va oferi funcțiile cos () și sin () (sinus și cosinus) necesare pentru a calcula cercul.

  3. Începeți metoda cercului adăugând următorul cod înainte de a afișa funcția de apel invers:

    void drawCircle (GLint x, Glint y, Glint ray, int num_lines) {}

    Variabilele "x" și "y" vor fi folosite pentru a defini centrul cercului în fereastră, în timp ce "ray" stabilește raza cercului. Numărul întreg "num_lines" este numărul de linii utilizate pentru a compune cercul. Cu cât este mai mare acest număr, cu atât mai ușor va fi cercul.


  4. Adăugați în interiorul cheilor următorul cod de configurare:

    unghi de flotare GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

    Variabila "unghi" va conține unghiul liniilor utilizate pentru a construi cercul. Apelul funcției glColor3f () stabilește culoarea liniilor în negru, unde seria de trei 0 corespunde intensității roșu, verde și albastru pe o scală de la 0 la 1.

  5. Adăugați următorul cod sub funcția glColor3f () din pasul 4:

    glBegin (GL_LINE_LOOP) GO

    Acest lucru spune OpenGL că toate liniile ulterioare implică desenarea liniilor. Mai exact, va desena un "GL_LINE_LOOP", care este o serie de linii conectate.

  6. Introduceți următorul cod dintr-o buclă după apelul glBegin ():

    pentru (int i = 0; i <num_lines; i ++) {unghi = i * 2 * M_PI / num_lines; glVertex2f (x + (cos (unghi) * rază) și + (fără rază (unghi) *)); }

    Cravata asta are trei lucruri. Mai întâi, se iterează în funcție de valoarea "num_lines", unde num_lines este un număr întreg, desenând o linie la fiecare iterație și rezultând un cerc compus din num_lines de linii drepte. În al doilea rând, calculați unghiul liniilor față de centrul cercului în radiani. "M_P" este o constantă definită în math.h reprezentând pi. În cele din urmă, apelul glVertex2f () calculează coordonatele punctelor finale ale rândurilor.


  7. După buclă, introduceți următoarea linie de cod:

    glEND () GO

    Acest lucru va spune OpenGL că ați terminat desenarea liniilor.

  8. Pentru a desena cercul într-o scenă, adăugați un apel din metoda drawCircle () la funcția de apel inversă a programului, care trebuie pregătită în pasul 1. Specificați valorile x, y, radius și a_line, unde x și y reprezintă un punct în scena sa, raza este raza cercului, iar num_lines este numărul de linii care alcătuiesc cercul. Din nou, dacă nu sunteți familiarizați cu OpenGL și cu afișarea inversă a apelurilor, consultați tutorialul OpenGL.

  9. Compilați și executați programul. Dacă ați introdus corect funcțiile, ar trebui să compilați fără erori. Dacă ați specificat valorile x, y și raza, ar trebui să vedeți un cerc negru afișat pe un fundal alb.

Ce ai nevoie

  • Computer cu suport OpenGL
  • Editorul de texte și instrumentele de compilator C sau mediul de dezvoltare C