So rendern Sie einen Kreis in OpenGL

Autor: Judy Howell
Erstelldatum: 4 Juli 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
How To Render CIRCLES (OpenGL/Vulkan/DirectX/Metal)
Video: How To Render CIRCLES (OpenGL/Vulkan/DirectX/Metal)

Inhalt

OpenGL oder Open Graphics Library ist eine Grafik-API (Application Programming Interface) zum Schreiben von 2D- und 3D-Anwendungen in verschiedenen Programmiersprachen und Plattformen. Es kann verwendet werden, um alles von einfachen, primitiven Objekten bis hin zu komplexen 3D-Szenen zu rendern. Open GL wird häufig in den Bereichen Computerdesign, wissenschaftliche Visualisierung, Flugsimulation und Videospiele eingesetzt. Obwohl OpenGl keine Methoden zum direkten Zeichnen eines Kreises hat, ist es möglich, einen mit einer Reihe von Linien zu erstellen. Sie benötigen Grundkenntnisse in OpenGL, um den Kreis zeichnen zu können.

Schritt 1

Erstellen Sie ein Basisprogramm mit einem OpenGL-Ansichtsfenster. Wenn Sie mit diesem Vorgang nicht vertraut sind, finden Sie auf der OpenGL-Seite ein Lernprogramm.


Schritt 2

Fügen Sie die Datei math.h.header zu Ihrem Programm hinzu, indem Sie am Anfang des Programms den folgenden Code eingeben: #include . Dadurch erhalten Sie die Funktionen cos () und sin () (Sinus und Cosinus), die zur Berechnung des Kreises erforderlich sind.

Schritt 3

Starten Sie die Kreismethode, indem Sie den folgenden Code hinzufügen, bevor Sie die Rückruffunktion anzeigen:

void drawCircle (GLint x, GLint y, GLint-Radius, int num_lines) {}

Die Variablen "x" und "y" werden verwendet, um den Mittelpunkt des Kreises in Ihrem Fenster zu definieren, während der "Radius" den Radius des Kreises festlegt. Die Ganzzahl "num_lines" ist die Anzahl der Zeilen, aus denen der Kreis besteht. Je höher diese Zahl, desto glatter erscheint der Kreis.

Schritt 4

Fügen Sie den folgenden Konfigurationscode in die Schlüssel ein:

Gleitwinkel GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

Die Variable "Winkel" enthält den Winkel der Linien, die zum Erstellen des Kreises verwendet werden. Durch Aufrufen der Funktion glColor3f () wird die Farbe der Linien auf Schwarz gesetzt, wobei die Dreierreihe der Intensität von Rot, Grün und Blau auf einer Skala von 0 bis 1 entspricht.


Schritt 5

Fügen Sie den folgenden Code unter der Funktion glColor3f () aus Schritt 4 hinzu:

glBegin (GL_LINE_LOOP) GO

Dies teilt OpenGL mit, dass alle nachfolgenden Linien das Zeichnen von Linien beinhalten. Insbesondere wird ein "GL_LINE_LOOP" gezeichnet, bei dem es sich um eine Reihe verbundener Linien handelt.

Schritt 6

Geben Sie nach dem Aufruf von glBegin () den folgenden Code für eine for-Schleife ein:

für (int i = 0; i <Zeilennummer; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (Winkel) * Radius), y + (sin (Winkel) * Radius)); }}

Diese Schleife macht drei Dinge. Erstens iteriert es gemäß dem Wert von "num_lines", wobei num_lines eine Ganzzahl ist, wobei in jeder Iteration eine Linie gezeichnet wird und ein Kreis aus geraden Linien num_lines entsteht. Zweitens wird der Winkel der Linien relativ zum Mittelpunkt des Kreises im Bogenmaß berechnet. "M_P" ist eine in math.h definierte Konstante, die pi darstellt. Schließlich berechnet der Aufruf von glVertex2f () die Koordinaten der Endpunkte der Linien.


Schritt 7

Geben Sie nach dem Loop-to die folgende Codezeile ein:

glEnd () GO

Dadurch wird OpenGL mitgeteilt, dass Sie mit dem Zeichnen der Linien fertig sind.

Schritt 8

Um den Kreis in einer Szene zu zeichnen, fügen Sie der Rückrufanzeigefunktion des Programms einen Aufruf der drawCircle () -Methode hinzu, der in Schritt 1 vorbereitet werden muss. Geben Sie die Werte x, y, radius und num_lines an, wobei x und y einen Punkt darstellen In Ihrer Szene ist der Radius der Radius des Kreises und num_lines die Anzahl der Linien, aus denen der Kreis besteht. Wenn Sie mit OpenGL und der Rückrufanzeige nicht vertraut sind, lesen Sie das OpenGL-Lernprogramm.

Schritt 9

Kompilieren Sie Ihr Programm und führen Sie es aus. Wenn Sie die Funktionen korrekt eingegeben haben, sollte sie fehlerfrei kompiliert werden. Wenn Sie die Werte für x, y und Radius angegeben haben, sollte ein schwarzer Kreis auf weißem Hintergrund angezeigt werden.

Obwohl die meiten Rektozelenreparaturoperationen erfolgreich ind, können Blaen-, Rektum- und Beckenorgane gechädigt werden. ie funktionieren möglicherweie nicht mehr richtig. Probleme b...

Wenn ie die HTML- oder RTF-Option für eine E-Mail-Nachricht in Microoft Outlook verwenden, können ie dieelben peziellen Textformatierungfunktionen verwenden, die in anderen Microoft Office-A...

Publikationen