Verwenden von NURBS-Kurven und -Oberflächen
Non-Uniform Rational B-Spline (NURBS)-Funktionen bieten allgemeine und leistungsstarke Beschreibungen von Kurven und Oberflächen in zwei und drei Dimensionen, wobei die Kurven und Oberflächen in OpenGL-Evaluatoren konvertiert werden. Die NURBS-Funktionen können Geometrie in vielen computergestützten mechanischen Konstruktionssystemen darstellen. Sie können Kurven und Oberflächen in einer Vielzahl von Stilen rendern, und sie können automatisch eine adaptive Unterteilung verarbeiten, die die Domäne in kleinere Dreiecke in Regionen mit hoher Krümmung und nahe Silhouetten rändern. NURBS-Funktionen fallen in die folgenden Kategorien.
Verwenden Sie Folgendes, um ein NURBS-Objekt zu verwalten:
- gluNewNurbsRenderer (Erstellen eines NURBS-Objekts)
- gluDeleteNurbsRenderer (löscht ein NURBS-Objekt)
- gluNurbsCallback (richtet eine Fehlerbehandlungsfunktion ein)
Verwenden Sie Folgendes, um die gewünschten Kurven anzugeben:
Verwenden Sie Folgendes, um die gewünschten Oberflächen anzugeben:
Sie können auch einen Trimmbereich angeben, der eine Teilmenge der zu bewertenden NURBS-Oberflächendomäne definiert, damit Sie Oberflächen erstellen können, die glatte Grenzen aufweisen oder Löcher enthalten.
Verwenden Sie Folgendes, um den Kürzungsbereich anzugeben:
Wie bei quadren Objekten können Sie steuern, wie NURBS-Kurven und -Oberflächen gerendert werden. Sie können Folgendes ermitteln:
- Gibt an, ob eine Kurve oder Oberfläche verworfen werden soll, deren Steuerungspolyeder sich außerhalb des aktuellen Viewports befindet.
- Die maximale Länge (in Pixel) der Kanten von Polygonen, die zum Rendern von Kurven und Oberflächen verwendet werden.
- Unabhängig davon, ob Sie die Projektionsmatrix, die Modellansichtsmatrix und den Viewport vom OpenGL-Server verwenden oder sie explizit mit gluLoadSamplingMatrices bereitstellen.
Verwenden Sie gluNurbsProperty , um diese Eigenschaften festzulegen, oder verwenden Sie die Standardwerte. Sie können ein NURBS-Objekt über seinen Renderingstil mit gluGetNurbsProperty abfragen.