GLLOADMATRIX

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glLoadMatrixd, glLoadMatrixf - 現在の行列を指定した行列に置き換える

 

書式

void glLoadMatrixd( const GLdouble *m )


void glLoadMatrixf(
const GLfloat *m )


delim $$  

引き数

m
16個の連続値を指すポインタを指定する。 これらの値は $4 ~times~ 4$ 列優先行列の要素として使われる。
 

説明

glLoadMatrix は現在の行列を m で指定した 要素からなる行列で置き換える。 現在の行列は、現在の行列のモードにより、 射影行列、 モデルビュー行列、 テクスチャ行列のいずれかとなる(glMatrixMode を参照)。 現在の行列(以後 M とする)は、座標変換を定義する。 例えば、M がモデルビュー行列であるとする。 $v ~=~ (v[0], v[1], v[2], v[3])$ が頂点のオブジェクト座標の集合 であり、m が $16$ 個の単精度あるいは倍精度の浮動小数点値 $m[0], m[1],. . .,m[15]$ からなる配列であるとすると、 モデルビュー変換 $M(v)$ は次のように作用する:


down 130 {M(v) ~ = ~ {{ left ( matrix {
   ccol { ~m[0] above m[1] above m[2] above m[3] ~}
   ccol { ~m[4] above m[5] above m[6] above m[7] ~}
   ccol { ~m[8] above m[9] above m[10] above m[11] ~}
   ccol { ~m[12]~ above m[13]~ above m[14]~ above m[15]~} } right ) } ~~ times ~~ {left ( matrix { ccol { ~v[0]~ above ~v[1]~ above ~v[2]~ above ~v[3]~ } } right )} }}

ここで ``$times$'' は行列の積を表す。 射影行列やテクスチャ座標変換も同じように定義される。  

注意

行列の要素は単精度や倍精度で指定できるが、 GL の実装がこれらの値を格納・操作する際には単精度以下の 精度で行われる。  

エラー

GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glLoadMatrix が実行されると起こる。  

関連する取得値

引き数 GL_MATRIX_MODE を指定した glGet
引き数 GL_COLOR_MATRIX を指定した glGet
引き数 GL_MODELVIEW_MATRIX を指定した glGet
引き数 GL_PROJECTION_MATRIX を指定した glGet
引き数 GL_TEXTURE_MATRIX を指定した glGet  

関連項目

glLoadIdentity(3G), glMatrixMode(3G), glMultMatrix(3G), glPushMatrix(3G)


 

Index

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

jman



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