glPolygonMode — ポリゴンのラスタライズモードを選択
void glPolygonMode(
|
GLenum face, |
GLenum mode); |
face
mode
ポリゴンのラスタライズ方法を指定します。
GL_POINT、GL_LINE、GL_FILL を指定できます。
初期値は、前面と背面の両方がポリゴンとなっている GL_FILL です。
glPolygonMode は、ラスタライズするためのポリゴンの解釈を制御します。
face は、どのポリゴンモード (mode) が適用されるかを説明します。
例えば、前面と背面の両方のポリゴンはGL_FRONT_AND_BACKになります。
ポリゴンモードは、ポリゴンの最後のラスタライズのみに影響します。
特に、これらのモードが適用される前に、ポリゴンの頂点が照らされ、ポリゴンがクリップされ、場合によってはカリングされます。
3つのモードが定義されており、mode で指定できます。
GL_POINT
境界エッジの始点としてマークされているポリゴンの頂点は、点として描画されます。
GL_POINT_SIZE や GL_POINT_SMOOTH などの点の属性は、点のラスタライズを制御します。
GL_POLYGON_MODE 以外のポリゴンのラスタライズの属性には効果がありません。
GL_LINE
ポリゴンの境界となるエッジはラインセグメントとして描画されます。
GL_LINE_WIDTH や GL_LINE_SMOOTH などの線の属性は、線のラスタライズを制御します。
GL_POLYGON_MODE 以外のポリゴンのラスタライズの属性は無効です。
GL_FILL
ポリゴンの内部が塗りつぶされます。
GL_POLYGON_SMOOTH などのポリゴン属性は、ポリゴンのラスタライズを制御します。
輪郭付きのポリゴンを表面に描く場合
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
頂点が境界または非境界であるかはエッジフラグによってマークされます。 エッジフラグは、GLが三角形のストリップや扇型に分解するときに、GLによって内部的に生成されます。
GL_INVALID_ENUM is generated if either face or mode is not
an accepted value.
glGet with argument GL_POLYGON_MODE
| OpenGL Version | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glPolygonMode
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.