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 にイメージデータを 与えた場合と似たような解釈をされる。 その場合の widthheight はこのコマンドの対応する幅と 高さであり、typeGL_BITMAP であり、formatGL_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 座標にはそれぞれ xmoveymove が 加えられる。 現在のラスタ位置の 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

名前
書式
引き数
説明
注意
エラー
関連する取得値
関連項目

jman



Time: 07:01:04 GMT, January 12, 2009