GLBITMAP
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glBitmap
- ビットマップを描画する
書式
void glBitmap(
GLsizei width,
GLsizei height,
GLfloat xorig,
GLfloat yorig,
GLfloat xmove,
GLfloat ymove,
const GLubyte *bitmap )
delim $$
引き数
- width, height
-
ビットマップイメージの幅と高さを指定する。
- xorig, yorig
-
ビットマップイメージの原点の位置を指定する。
原点の位置はビットマップの左下から測り、右上方向が正の軸方向となる。
- xmove, ymove
-
ビットマップを描画した後に、現在のラスタ位置に追加する
x, y のオフセット値を指定する。
- bitmap
-
ビットマップイメージのアドレスを指定する。
説明
ビットマップとはバイナリイメージである。
ビットマップを描画すると、ビットマップは現在のラスタ位置からの相対位置
に配置され、ビットマップ内で 1 になっている部分に対応する
フレームバッファのピクセルに書き込みが行われる。
この際には現在のラスタ色またはインデックスが使われる。
ビットマップ内で 0 になっている部分に対応する
フレームバッファのピクセルは変化しない。
glBitmap は 7 個の引き数を取る。
最初のふたつの引き数は、ビットマップの幅と高さを指定する。
次のふたつの引き数は、ビットマップの原点の位置を指定する。
位置指定はビットマップイメージの左下隅からの相対座標で行う。
その次のふたつの引き数は、ビットマップを描画した後に
現在のラスタ位置に追加する x, y のオフセットを指定する。
最後の引き数はビットマップそのものを指すポインタである。
このビットマップイメージは、glDrawPixels にイメージデータを
与えた場合と似たような解釈をされる。
その場合の width と height はこのコマンドの対応する幅と
高さであり、type は GL_BITMAP であり、format は
GL_COLOR_INDEX である。
glPixelStore を使ってモードを指定すると、ビットマップイメージ
データの解釈にも影響する。
ただし glPixelTransfer を使ったモード指定は影響しない。
現在のラスタ位置が不正である場合、glBitmap は無視される。
正しい場合は、ビットマップイメージの左下隅がウィンドウ座標
$ x sub w ~=~ |_ ~ x sub r ~-~ x sub o ~ _| $
$ y sub w ~=~ |_ ~ y sub r ~-~ y sub o ~ _| $
に配置される。
ここで $ ( x sub r , y sub r ) $ はラスタ位置であり、
$ ( x sub o , y sub o ) $ はビットマップの原点である。
次に、ビットマップイメージ内で 1 になっている部分に対応する各ピクセルに
ついて微小要素が生成される。
これらの微小要素は現在のラスタ座標の z 座標、
色または色インデックス、現在のラスタテクスチャ座標を使って生成される。
その後は、これらの微小要素は点、線分、ポリゴンによって生成された場合と
同様に扱われる。これにはテクスチャマッピング、フォグ処理、
微小要素への全ての操作(アルファテストや深さテスト等)が含まれる。
ビットマップが描画された後は、現在のラスタ位置の
x, y 座標にはそれぞれ xmove と ymove が
加えられる。
現在のラスタ位置の z 座標、現在のラスタ色、テクスチャ座標、
インデックスは全く変化しない。
注意
ビューポート外で正しいラスタ位置を指定するには、まず
ビューポート内で正しいラスタ位置を指定し、次に
glBitmap 関数を bitmap 引き数に NULL,
xmove 引き数と ymove 引き数に新しいラスタ位置の
オフセットを指定して呼び出す。
このテクニックは、ビューポートの回りで画像をパンニングさせる
ときに便利である。
エラー
width または height が負の値の場合、GL_INVALID_VALUE
エラーとなる。
glBegin とその対となる glEnd の間で
glBitmap が実行された場合、GL_INVALID_OPERATION
エラーとなる。
関連する取得値
引き数に GL_CURRENT_RASTER_POSITION を指定した glGet
引き数に GL_CURRENT_RASTER_COLOR を指定した glGet
引き数に GL_CURRENT_RASTER_DISTANCE を指定した glGet
引き数に GL_CURRENT_RASTER_INDEX を指定した glGet
引き数に GL_CURRENT_RASTER_TEXTURE_COORDS を指定した glGet
引き数に GL_CURRENT_RASTER_POSITION_VALID を指定した glGet
関連項目
glDrawPixels(3G),
glPixelStore(3G),
glPixelTransfer(3G),
glRasterPos(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:04 GMT, January 12, 2009