gluNurbsSurface 函式

gluNurbsSurface函式會定義非統一合理 B 曲線 (NURBS) 表面的形狀。

語法

void WINAPI gluNurbsSurface(
   GLUnurbs *nobj,
   GLint    sknot_count,
   float    *sknot,
   GLint    tknot_count,
   GLfloat  *tknot,
   GLint    s_stride,
   GLint    t_stride,
   GLfloat  *ctlarray,
   GLint    sorder,
   GLint    torder,
   GLenum   type
);

參數

nobj

使用 gluNewNurbsRenderer) 建立的 NURBS 物件 (。

sknot_count

參數 u 方向的節數。

sknot

參數u方向中sknot_count非decreasing knot 值的陣列。

tknot_count

參數 v 方向的節數。

tknot

參數v方向中tknot_count非decreasing knot 值的陣列。

s_stride

位移 (為數個單精確度精確度點值,) 在 ctlarray中參數u方向的連續控制點之間。

t_stride

單精確度指標值中的位移 () 在ctlarray參數v方向的連續控制點之間。

ctlarray

陣列,包含 NURBS 介面的控制點。 參數 uv 方向中連續控制點之間的位移是由 s_stridet_stride所指定。

sorder

參數 u 方向的 NURBS 表面順序。 順序是一個以上的度數,因此u 中的三次方表面順序為 4。

torder

參數 v 方向的 NURBS 表面順序。 順序是一個以上的度數,因此 ,以 v 為單位的三次方面有 4 個 v 順序。

type

表面的類型。 類型參數可以是任何有效的二維評估工具類型 (,例如GL_MAP2_VERTEX_3或GL_MAP2_COLOR_4) 。

傳回值

此函式不會傳回值。

備註

NURBS 表面定義中使用 gluNurbsSurface 來描述任何修剪) 之前,NURBS 表面 (的形狀。 若要標記 NURBS 表面定義的開頭,請使用 gluBeginSurface 函式。 若要標記 NURBS 表面定義的結尾,請使用 gluEndSurface 函式。 只在 NURBS 介面定義中呼叫 gluNurbsSurface

您可以將每個位置、紋理和色彩座標呈現為gluBeginSurface gluEndSurface/ 配對之間的個別gluNurbsSurface,讓位置、紋理和色彩座標產生關聯。 在單一gluBeginSurfacegluEndSurface/ 配對內,您只能呼叫gluNurbsSurface來取得色彩、位置和紋理資料。 請進行一個呼叫,以描述介面 (類型 GL_MAP2_VERTEX_3或GL_MAP2_VERTEX_4) 的位置。

您可以在對 gluBeginTrimgluEndTrim的呼叫之間使用gluNurbsCurvegluPwlCurve函式來修剪 NURBS 表面。

具有u方向sknot_count節的gluNurbsSurface,以及tknot_count具有順序sordertorderv方向的 knot,必須有 - (sknot_count sknot_countsorder) 由 (tknot_count -torder) 控制點。

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限桌面應用程式]
標頭
Glu.h
程式庫
Glu32.lib
DLL
Glu32.dll

另請參閱

gluBeginSurface

gluBeginTrim

gluEndSurface

gluEndTrim

gluNewNurbsRenderer

gluNurbsCurve

gluPwlCurve