GLSHADEMODEL
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glShadeModel
- フラットシェーディングまたはスムーズシェーディングを選ぶ
書式
void glShadeModel(
GLenum mode )
delim $$
引き数
- mode
-
シェーディング技法を表すシンボル定数を指定する。
指定できる値は GL_FLAT と GL_SMOOTH である。
初期値は GL_SMOOTH である。
説明
GL のプリミティブはフラットシェーディングまたは
スムーズシェーディングで表示できる。
スムーズシェーディング(デフォルト動作)では、
計算された頂点の色はプリミティブがラスタ処理される際に補間される。
これにより普通は結果として得られる各々のピクセルフラグメント
に異なる色が割り当てられる。
フラットシェーディングは、あるひとつだけの頂点について計算された
色を選択し、ひとつのプリミティブのラスタ処理によって生成された
全てのピクセルフラグメントにこれを割り当てる。
どちらの場合も、ある頂点について計算された色は、
ライティングが有効ならばライティング処理の結果であり、
ライティングが無効ならば頂点が指定された時点での現在の色である。
点の場合には、フラットシェーディングとスムーズシェーディングの
区別はつかない。
GL はフラットシェーディング処理された線分 $i$ には、
線分のふたつめの頂点である 頂点 $i ~+~ 1$ について計算された色を
与える。
この処理は glBegin が発行されたときから始まり、
頂点とプリミティブは 1 から数えられる。
GL はフラットシェーディングされたポリゴンには、次の表に列挙された
頂点について計算された色を与える。
この場合も先程と同様に 1 から数えられる。
単独のポリゴンの場合を除く全ての場合において、
ポリゴンの色を決めるのは最後の頂点である。
単独のポリゴンの場合は最初の頂点がフラットシェーディングの
色を決める。
|
ポリゴン $i$ のプリミティブ型 | 頂点
|
|
単独のポリゴン ($ i ~==~ 1 $) | 1
|
三角形ストリップ | $i ~+~ 2$
|
三角形ファン | $i ~+~ 2$
|
独立の三角形 | $ 3 i$
|
矩形ストリップ | $2 i ~+~ 2$
|
独立の矩形 | $ 4 i $
|
|
フラットシェーディングを指定するには mode に GL_FLAT を
指定して glShadeModel を呼ぶ。
スムーズシェーディングの場合は GL_SMOOTH を指定する。
エラー
GL_INVALID_ENUM:
mode に GL_FLAT でも GL_SMOOTH でもない
値を指定すると起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glShadeModel を実行すると起こる。
関連する取得値
引き数 GL_SHADE_MODEL を指定した glGet
関連項目
glBegin(3G),
glColor(3G),
glLight(3G),
glLightModel(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:11 GMT, January 12, 2009