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
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:08 GMT, January 12, 2009