NURBS(Non-Uniform Rational B-Spline) 함수는 곡선과 표면을 2차원과 3차원으로 일반적이고 강력한 설명으로 제공하여 곡선과 표면을 OpenGL 계산기로 변환합니다. NURBS 함수는 많은 컴퓨터 지원 기계 설계 시스템에서 기하 도형을 나타낼 수 있습니다. 다양한 스타일로 곡선과 표면을 렌더링할 수 있으며, 높은 곡률과 실루엣 가장자리 근처의 영역에서 도메인을 더 작은 삼각형으로 테셀레이트하는 적응형 세분화를 자동으로 처리할 수 있습니다. NURBS 함수는 다음 범주로 분류됩니다.
NURBS 개체를 관리하려면 다음을 사용합니다.
- gluNewNurbsRenderer(NURBS 개체 만들기)
- gluDeleteNurbsRenderer(NURBS 개체 삭제)
- gluNurbsCallback (오류 처리 함수 설정)
원하는 곡선을 지정하려면 다음을 사용합니다.
원하는 표면을 지정하려면 다음을 사용합니다.
부드러운 경계가 있거나 구멍이 있는 표면을 만들 수 있도록 평가할 NURBS 표면 도메인의 하위 집합을 정의하는 트리밍 영역을 지정할 수도 있습니다.
트리밍 영역을 지정하려면 다음을 사용합니다.
사분면 개체와 마찬가지로 NURBS 곡선 및 표면이 렌더링되는 방법을 제어할 수 있습니다. 다음을 확인할 수 있습니다.
- 컨트롤 폴리헤드론이 현재 뷰포트 외부에 있는 곡선 또는 표면을 삭제할지 여부입니다.
- 곡선과 표면을 렌더링하는 데 사용되는 다각형 가장자리의 최대 길이(픽셀)입니다.
- OpenGL 서버에서 프로젝션 매트릭스, modelview 행렬 및 뷰포트를 사용하거나 gluLoadSamplingMatrices를 사용하여 명시적으로 제공할지 여부입니다.
gluNurbsProperty 사용하여 이러한 속성을 설정하거나 기본값을 사용합니다. gluGetNurbsProperty사용하여 NURBS 개체의 렌더링 스타일에 대해 쿼리할 수 있습니다.