glLineWidth 関数

glLineWidth 関数は、ラスター化された線の幅を指定します。

構文

void WINAPI glLineWidth(
   GLfloat width
);

パラメーター

width

ラスター化された線の幅。 既定値は 1.0 です。

戻り値

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

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_VALUE
width は 0 以下でした。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。

解説

glLineWidth 関数は、エイリアス化された線とアンチエイリアシングされた線の両方のラスター化された幅を指定します。 1.0 以外の線幅を使用すると、線のアンチエイリアシングが有効になっているかどうかによって異なる効果があります。 行のアンチエイリアシングは、引数 GL_LINE_SMOOTH を使用して glEnableglDisable を呼び出すことによって制御されます。

線のアンチエイリアシングが無効になっている場合、実際の幅は、指定された幅を最も近い整数に丸めることで決定されます。 (丸め結果の値が 0.0 の場合、線幅が 1.0 であるかのように表示されます)| の場合 x |= | ? y |, i ピクセルはラスター化された各列に塗りつぶされます。 ここで、iの丸められた値です。 それ以外の場合は、ラスター化された各行に i ピクセルが塗りつぶされます。

アンチエイリアシングが有効になっている場合、線のラスター化は、現在の線の幅と等しい幅、線の実際の長さに等しい長さ、および数学的線分を中心とする四角形内に横たわる領域と交差するピクセル四角形ごとにフラグメントを生成します。 各フラグメントのカバレッジ値は、対応するピクセル正方形を持つ四角形領域の交差部分のウィンドウ座標領域です。 この値は保存され、最後のラスター化手順で使用されます。

線のアンチエイリアシングが有効になっている場合、すべての幅をサポートできるわけではありません。 サポートされていない幅が要求された場合は、サポートされている最も近い幅が使用されます。 幅 1.0 のみがサポートされていることが保証されます。他のユーザーは実装に依存します。 サポートされている幅の範囲と、範囲内でサポートされている幅のサイズの違いは、 glGet を呼び出してGL_LINE_WIDTH_RANGE引数とGL_LINE_WIDTH_GRANULARITYを呼び出すことによって照会できます。

glLineWidth で指定された行幅は、GL_LINE_WIDTHクエリを実行すると常に返されます。 エイリアス化された線とアンチエイリアシングされた線のクランプと丸めは、指定された値には影響しません。

アンチエイリアシングされていない線幅は、実装依存の最大値にクランプできます。 この最大値は照会できませんが、アンチエイリアシングされた行の最大値を下回らず、最も近い整数値に丸める必要があります。

次の関数は 、glLineWidth に関連する情報を取得します。

引数GL_LINE_WIDTHを含む glGet

glGet と引数 GL_LINE_WIDTH_RANGE

glGet と引数 GL_LINE_WIDTH_GRANULARITY

glIsEnabled with argument GL_LINE_SMOOTH

必要条件

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

関連項目

glBegin

glEnable

glEnd

glIsEnabled