Udostępnij za pośrednictwem


Używanie krzywych i powierzchni NURBS

Funkcje non-Uniform Rational B-Spline (NURBS) zapewniają ogólne i zaawansowane opisy krzywych i powierzchni w dwóch i trzech wymiarach, konwertując krzywe i powierzchnie na ewaluatorów OpenGL. Funkcje NURBS mogą reprezentować geometrię w wielu systemach mechanicznych wspomaganych komputerowo. Mogą one renderować krzywe i powierzchnie w różnych stylach, a także mogą automatycznie obsługiwać adaptacyjne podziały, które dzielą domenę na mniejsze trójkąty w obszarach o dużej krzywiźnie i w pobliżu krawędzi sylwetki. Funkcje NURBS należą do następujących kategorii.

Aby zarządzać obiektem NURBS, użyj:

Aby określić żądane krzywe, użyj:

Aby określić żądane powierzchnie, użyj:

Można również określić region przycinania, który definiuje podzbiór domeny powierzchni NURBS do oceny, aby można było tworzyć powierzchnie, które mają gładkie granice lub zawierają otwory.

Aby określić region przycinania, użyj:

Podobnie jak w przypadku obiektów czworokątnych, można kontrolować sposób renderowania krzywych i powierzchni NURBS. Możesz określić:

  • Czy odrzucić krzywą lub powierzchnię, której wielobok kontrolny znajduje się poza bieżącym widokiem?
  • Maksymalna długość (w pikselach) krawędzi wielokątów używanych do renderowania krzywych i powierzchni.
  • Niezależnie od tego, czy pobierzesz z serwera OpenGL macierz projekcji, macierz modelwidoku i widok, czy dostarczysz je bezpośrednio za pomocą gluLoadSamplingMatrices.

Użyj gluNurbsProperty, aby ustawić te właściwości lub użyj wartości domyślnych. Możesz wysłać zapytanie do obiektu NURBS o jego stylu renderowania za pomocą gluGetNurbsProperty.