NURBS-curven en -oppervlakken gebruiken
Niet-Uniform Rational B-Spline (NURBS)-functies bieden algemene en krachtige beschrijvingen van curven en oppervlakken in twee en drie dimensies, waarbij de curven en oppervlakken worden geconverteerd naar OpenGL-evaluators. De NURBS-functies kunnen geometrie vertegenwoordigen in veel computergestuurde mechanische ontwerpsystemen. Ze kunnen krommen en oppervlakken in verschillende stijlen weergeven en automatisch adaptieve onderverdelingen behandelen, waarbij het domein wordt opgedeeld in kleinere driehoeken in gebieden met hoge kromming en dicht bij silhouetranden. NURBS-functies vallen in de volgende categorieƫn.
Als u een NURBS-object wilt beheren, gebruikt u:
- gluNewNurbsRenderer- (een NURBS-object maken)
- gluDeleteNurbsRenderer- (verwijdert een NURBS-object)
- gluNurbsCallback- (brengt een foutafhandelingsfunctie tot stand)
Als u de gewenste curven wilt opgeven, gebruikt u:
Als u de gewenste oppervlakken wilt opgeven, gebruikt u:
U kunt ook een bijsnijdgebied opgeven, waarmee een subset van het NURBS-oppervlakdomein wordt gedefinieerd die moet worden geƫvalueerd, zodat u oppervlakken kunt maken die vloeiende grenzen hebben of die gaten bevatten.
Als u de bijsnijdregio wilt opgeven, gebruikt u:
Net als bij quadrische objecten kunt u bepalen hoe NURBS-curven en oppervlakken worden weergegeven. U kunt het volgende bepalen:
- Of we een curve of oppervlak moeten verwijderen waarvan het controleveelvlak zich buiten de huidige viewport bevindt.
- De maximale lengte (in pixels) van randen van veelhoeken die worden gebruikt om curven en oppervlakken weer te geven.
- Of u nu de projectiematrix, modelweergavematrix en viewport van de OpenGL-server gebruikt of deze expliciet opgeeft met gluLoadSamplingMatrices.
Gebruik gluNurbsProperty- om deze eigenschappen in te stellen of gebruik de standaardwaarden. U kunt een NURBS-object opvragen over de weergavestijl met gluGetNurbsProperty-.