Skip to main content

Was ist ein OpenGL Kugel?

Eine offene Grafikbibliothek (OpenGL ) Die Sphäre ist auf der grundlegendsten Ebene ein dreidimensionales (3D) -Objekt, das aus einer Reihe von Dreiecken oder Viereckern besteht, deren Eckpunkte alle aus einem Mittelpunkt gleich sind.Dies bedeutet, dass ein OpenGL Die Kugel wird aus jedem Winkel betrachtet, der Umriss erscheint dem Betrachter als perfekter Kreis, obwohl Beleuchtung und Schattierung dem Volumen ein kugelartigeres Erscheinungsbild verleihen können.Die Anzahl der Eckpunkte, mit denen ein OpenGL Die Kugel bestimmt die Glätte des Objekts in seiner Annäherung an eine tatsächliche Kugel, wobei weniger als 12 Punkte ein Objekt erzeugen, das nicht als Kugel angesehen werden kann.Obwohl eine Kugel in vielen grafischen Anwendungen und Bibliotheken als Form primitiv angesehen wird, OpenGL hat keine angeborene Funktionalität, um eine Kugel zu rendern, was ergänzende Toolkits wie das OpenGL Das Nutzen -Toolkit (GLUT) muss verwendet werden, um das Schreiben von Code zu vermeiden, um die Form manuell zu generieren.

Beim Umgang mit Eckpunkten in OpenGL Erstellen eines Objekts mit 20 dreieckigen Gesichtern, die als Ikosaeder bekannt sind.Ohne weitere Verarbeitung ist ein OpenGL Auf diese Weise konstruierte Kugel haben sichtbare scharfe Ecken an den Kanten, was für einige Anwendungen möglicherweise akzeptabel ist.Um eine abgerundete Kugel zu erreichen, muss jedes Gesicht weiter unterteilt werden.In der Kugel werden neue Scheitelpunkte in der Mitte jeder Kante jedes vorhandenen Dreiecks erstellt.Dies bedeutet, dass jedes dreieckige Gesicht jetzt vier Dreiecke enthält.Die Unterteilung kann so weit wie erforderlich fortgesetzt werden, obwohl das Hinzufügen von Punkten exponentiell schnell ein Objekt erstellen kann, das eine hohe Renderzeit aufweist und unhandlich werden kann, um zu übersetzen.Die Kugel sorgt für Programmierer wie die Oberflächennormalen, die leicht aus den Scheitelpunktkoordinaten berechnet werden können. Die Texturierung einer Kugel kann einige Komplexitäten darstellen.Die Verwendung einer zweidimensionalen Standardstruktur (2D), die auf die Kugel projiziert wird, bedeutet, dass die oberen und unteren Bereiche des Texturbildes komprimiert werden, da die Form der Dreiecke in der Nähe der Pole der Kugel selbst komprimiert wird.Um dies zu überwinden, kann die Cube -Mapping verwendet werden oder der Programmierer könnte die Texturkoordinaten manuell für das Objekt erzeugen.

Es sollte ein Faktor zur Verwendung einer Versorgungsbibliothek zur Generierung eines OpenGL REG beachtet werden.Kugel.Eine durch Glut oder ähnliche Toolkits erzeugte Kugel kann manchmal schwierig sein, innerhalb von OpenGL Reg zu ändern, zu optimieren und zu verwalten.selbst.Aus diesem Grund ist es manchmal vorteilhaft, benutzerdefinierte schriftliche Code zu verwenden, um ein OpenGL Reg zu generieren.Kugel, so dass es erstellt und im Programm auf die effizienteste Weise verwendet werden kann.