次の方法で共有


gluNurbsProperty 関数

gluNurbsProperty 関数は、非均一有理 B スプライン (NURBS) プロパティを設定します。

構文

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

パラメーター

nobj

NURBS オブジェクト ( gluNewNurbsRenderer で作成)。

property

設定するプロパティ。 有効な値は、次のとおりです。

説明
GLU_SAMPLING_TOLERANCE
サンプリングメソッドがGLU_PATH_LENGTHに設定されている場合に使用する最大長をピクセル単位で指定します。 既定値は 50.0 ピクセルです。
GLU_DISPLAY_MODE
パラメーターは、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 サーフェスをカリングするには、サンプリングおよびカリング マトリックスが必要です。
このモードが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には、次の 3 つの値のいずれかを指定できます。
GLU_PATH_LENGTH。 既定値。 テセレーション ポリゴンのエッジの最大長 (ピクセル単位) でレンダリングされるサーフェスが、GLU_SAMPLING_TOLERANCEで指定された値を超えないことを指定します。
GLU_PARAMETRIC_ERROR。 サーフェスをレンダリングする場合、GLU_PARAMETRIC_TOLERANCEの値によって、テセレーション ポリゴンと近似するサーフェスとの間の最大距離をピクセル単位で指定することを指定します。
GLU_DOMAIN_DISTANCE。 パラメーター座標で、 u 次元と v 次元で取得する単位長さあたりのサンプル ポイント数を指定します。
GLU_U_STEP
u 次元に 沿って取得した単位長あたりのサンプル ポイント数をパラメトリック座標で指定します。 GLU_U_STEP の値は、GLU_SAMPLING_METHODが GLU_DOMAIN_DISTANCE に設定されている場合に使用されます。 既定値は 100 です。
GLU_V_STEP
パラメトリック座標の v 次元に沿って取得された単位長あたりのサンプル ポイント数を指定します。 GLU_V_STEP の値は、GLU_SAMPLING_METHODが GLU_DOMAIN_DISTANCE に設定されている場合に使用されます。 既定値は 100 です。

value

指定されたプロパティを設定する値。 value パラメーターには、数値、または次の 3 つの値のいずれかを指定できます:GLU_PATH_LENGTH、GLU_PARAMETRIC_ERROR、またはGLU_DOMAIN_DISTANCE。

説明
GLU_PATH_LENGTH
既定値。 テセレーション ポリゴンのエッジの最大長 (ピクセル単位) でレンダリングされるサーフェスが、GLU_SAMPLING_TOLERANCEで指定された値を超えないことを指定します。
GLU_PARAMETRIC_ERROR
サーフェスをレンダリングする場合、GLU_PARAMETRIC_TOLERANCEの値によって、テセレーション ポリゴンと近似するサーフェスとの間の最大距離をピクセル単位で指定することを指定します。
GLU_DOMAIN_DISTANCE
パラメーター座標で、 u 次元と v 次元で取得する単位長さあたりのサンプル ポイント数を指定します。

戻り値

この関数は値を返しません。

注釈

gluNurbsProperty を使用して、NURBS オブジェクトに格納されているプロパティを制御します。 これらのプロパティは、NURBS カーブのレンダリング方法に影響します。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Glu.h
ライブラリ
Glu32.lib
[DLL]
Glu32.dll

関連項目

gluGetNurbsProperty

gluGetString

gluLoadSamplingMatrices

gluNewNurbsRenderer