0
gl.MatrixMode(gl.MODELVIEW)
gl.PushMatrix()
m := new([16]float64)
setIdentity(m)
gl.LoadMatrixd((*gl.GLdouble)(&m[0]))
gl.Rotated(90, 0, 1, 0)
gl.GetDoublev(gl.MODELVIEW_MATRIX, (*gl.GLdouble)(&m[0]))
gl.PopMatrix()
fmt.Printf("%f", m[0])
// m[0] == forward.x
GetDoublevの後にmの内容は変更されません。私はいくつかのCコードを移植しようとしています(これは基本的に動作します)。私は間違って何をしていますか?要求されたようGO-OpenGL LoadMatrixdとGetDoublevの問題
Cコード:
//m is float[16] set to identity
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadMatrixf(m);
glRotatef(90, 0,1,0);
glGetFloatv(GL_MODELVIEW_MATRIX, m);
glPopMatrix();
Cコードを投稿できますか? – nmichaels
'm:= new([16] float64)'は配列を0に初期化するか、その時点で初期化されていませんか? –
私はLoadMatrixdを呼び出す前に行列をアイデンティティに設定しています –