Share via


gluNurbsProperty 函式

gluNurbsProperty 函式會設定非統一合理 B-Spline (NURBS) 屬性。

語法

void WINAPI gluNurbsProperty(
   GLUnurbs *nobj,
   GLenum   property,
   GLfloat  value
);

參數

nobj

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

property

要設定的屬性。 下列是有效值:

意義
GLU_SAMPLING_TOLERANCE
指定取樣方法設定為 GLU_PATH_LENGTH 時要使用的最大長度,以圖元為單位。 預設值為 50.0 圖元。
GLU_DISPLAY_MODE
value參數會定義 NURBS 介面的呈現方式。 您可以將 設定為 GLU_FILL、GLU_OUTLINE_POLYGON 或 GLU_OUTLINE_PATCH。
GLU_FILL。 表面會轉譯為一組多邊形。 這是預設值。
GLU_OUTLINE_POLYGON。 NURBS 程式庫只會繪製鑲嵌所建立之多邊形的外框。
GLU_OUTLINE_PATCH。 只會繪製使用者所定義的修補程式和修剪曲線的外框。
GLU_CULLING
value參數是布林值。 當值設定為GL_TRUE時,會在鑲嵌之前捨棄控制點位於目前檢視區外部的 NURBS 曲線。 預設值為 GL_FALSE (,因為 NURBS 曲線無法完全落在其控制點的凸殼內) 。
GLU_AUTO_LOAD_MATRIX
value參數是布林值。 當設定為 GL_TRUE 時,NURBS 程式碼會從 OpenGL 伺服器下載投影矩陣、模型檢視矩陣和檢視區,以計算呈現之每個 NURBS 曲線的取樣和消除矩陣。 需要取樣和消除矩陣,才能判斷 NURBS 表面的鑲嵌成線條區段或多邊形,如果 NURBS 表面位於檢視區外,則為 NURBS 表面進行擷取。
如果此模式設定為 GL_FALSE,您必須提供投影矩陣、模型檢視矩陣和檢視區,讓 NURBS 轉譯器用來建構取樣和消除矩陣。 您可以使用 gluLoadSamplingMatrices 函式來執行此動作。
此模式的預設值為 GL_TRUE。 將這個模式從GL_TRUE變更為GL_FALSE不會影響取樣和消除矩陣,直到您呼叫 gluLoadSamplingMatrices為止。
GLU 1.1 版或更新版本支援下列屬性參數,而且對 GLU 1.0 版無效:GLU_PARAMETRIC_TOLERANCE、GLU_SAMPLING_METHOD、GLU_U_STEP和GLU_V_STEP。
GLU 1.1 版或更新版本支援下列值參數,而且對 GLU 1.0 版無效:GLU_PATH_LENGTH、GLU_PARAMETRIC_ERROR和GLU_DOMAIN_DISTANCE。
GLU_PARAMETRIC_TOLERANCE
指定取樣方法設定為 GLU_PARAMETRIC_ERROR 時要使用的最大距離,以圖元為單位。 預設值為 0.5。
GLU_SAMPLING_METHOD
指定如何鑲嵌 NURBS 表面。 GLU_SAMPLING_METHOD可以有下列三個值之一。
GLU_PATH_LENGTH。 預設值。 指定以圖元為單位之鑲嵌多邊形邊緣的最大長度呈現表面,不會大於GLU_SAMPLING_TOLERANCE所指定的值。
GLU_PARAMETRIC_ERROR。 指定在轉譯表面時,GLU_PARAMETRIC_TOLERANCE的值會指定鑲嵌多邊形與其近似表面之間的最大距離,以圖元為單位。
GLU_DOMAIN_DISTANCE。 在參數座標中,指定要在 uv 維度中採用的每個單位長度取樣點數目。
GLU_U_STEP
指定參數座標中 沿著 u 維度取得的每個單位長度樣本點數目。 當GLU_SAMPLING_METHOD設定為 GLU_DOMAIN_DISTANCE 時,會使用 GLU_U_STEP 的值。 預設值是 100。
GLU_V_STEP
指定參數座標中 v 維度所取用的每個單位長度樣本點數目。 當GLU_SAMPLING_METHOD設定為 GLU_DOMAIN_DISTANCE 時,會使用 GLU_V_STEP 的值。 預設值是 100。

value

要設定所指出屬性的值。 value參數可以是數值或下列三個值的其中一個:GLU_PATH_LENGTH、GLU_PARAMETRIC_ERROR或GLU_DOMAIN_DISTANCE。

意義
GLU_PATH_LENGTH
預設值。 指定以圖元為單位之鑲嵌多邊形邊緣的最大長度呈現表面,不會大於GLU_SAMPLING_TOLERANCE所指定的值。
GLU_PARAMETRIC_ERROR
指定在轉譯表面時,GLU_PARAMETRIC_TOLERANCE的值會指定鑲嵌多邊形與其近似表面之間的最大距離,以圖元為單位。
GLU_DOMAIN_DISTANCE
在參數座標中,指定要在 uv 維度中採用的每個單位長度取樣點數目。

傳回值

此函式不會傳回值。

備註

使用 gluNurbsProperty 來控制儲存在 NURBS 物件中的屬性。 這些屬性會影響 NURBS 曲線呈現的方式。

規格需求

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

另請參閱

gluGetNurbsProperty

gluGetString

gluLoadSamplingMatrices

gluNewNurbsRenderer