GLLINEWIDTH
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glLineWidth
- 描画される線の幅を指定する
書式
void glLineWidth(
GLfloat width )
delim $$
引き数
- width
-
描画される線の幅を指定する。
初期値は 1 である。
説明
glLineWidth は、描画される線の幅を指定する。
指定はアンチエイリアス処理の有無に関わらず適用される。
1 以外の線幅を用いると、アンチエイリアスの有効・無効の状態によって
異なる効果が出る。
線のアンチエイリアス処理を有効または無効にするには
引き数 GL_LINE_SMOOTH を指定して
glEnable または glDisable を呼ぶこと。
線のアンチエイリアス処理は初期状態では無効になっている。
線のアンチエイリアス処理が無効の場合には、実際の幅は
指定された幅を最も近い整数値に丸めることによって決められる。
(丸めた結果が 0 になった場合には、線幅が 1 だったものとして処理される。)
$| DELTA x | ~>=~ | DELTA y |$ である場合には、
描画される各列において i ピクセルが塗りつぶされる。
ここで i は width を丸めた値である。
それ以外の場合には、描画される各行において i ピクセル
が塗りつぶされる。
アンチエイリアス処理が有効である場合、線のラスタ処理は、
ある矩形領域と重なるピクセルに対して微小要素を生成する。
すなわち、幅が現在の線幅であり、長さが実際の線の長さであり、
線分の数学的表現が中心に位置するような矩形領域である。
それぞれの微小要素に対するカバー値は、
この矩形領域とピクセルが重なっているウィンドウ座標での領域となる。
この値は保存され、ラスタ処理の最終ステップで使われる。
線のアンチエイリアス処理が有効な時には、どんな幅でも指定できる
わけではない。
指定できない幅が要求された場合には、対応している中で最も近い
幅が使われる。
対応していることが保証されている幅は 1 だけである。
他の幅は実装依存である。
対応している幅や、
対応している範囲内での幅の間隔を問い合わせるには、
引き数
GL_ALIASED_LINE_WIDTH_RANGE,
GL_SMOOTH_LINE_WIDTH_RANGE,
GL_SMOOTH_LINE_WIDTH_GRANULARITY
を指定して glGet を呼ぶこと。
注意
glLineWidth によって指定した線幅は、必ず
GL_LINE_WIDTH で問い合わせたを行った際に返される。
アンチエイリアス処理の有無に関わらず、線に対する
範囲の切り詰めや丸めを行っても指定された値には影響しない。
アンチエイリアス処理されていない線の幅は、実装依存の最大値に
制限される。この最大幅を調べるには
引き数 GL_ALIASED_LINE_WIDTH_RANGE を指定して glGet を
呼ぶこと。
エラー
GL_INVALID_VALUE:
width が 0 以下の値の時に起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glLineWidth が実行されると起こる。
関連する取得値
引き数 GL_LINE_WIDTH を指定した glGet
引き数 GL_ALIASED_LINE_WIDTH_RANGE を指定した glGet
引き数 GL_SMOOTH_LINE_WIDTH_RANGE を指定した glGet
引き数 GL_SMOOTH_LINE_WIDTH_GRANULARITY を指定した glGet
引き数 GL_LINE_SMOOTH を指定した glIsEnabled
関連項目
glEnable(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:08 GMT, January 12, 2009