glRotate 関数と glTranslate 関数を使用してモデルを回転させていますが、プログラムを実行すると、モデルはそのすぐ隣の点を中心に回転しています。これが私のモデル定義です:
private static final float[] mesh = {
-0.5f, 0.5f,-0f,
-0.5f, -0.5f, -0,
0.5f, -0.5f, 0f,
0.5f, 0.5f, 0f,
-0.5f, 0.5f,-1f,
-0.5f, -0.5f, -1f,
0.5f, -0.5f, -1f,
0.5f, 0.5f, -1f,
};
private static final byte[] indices = {
0, 2, 1,
0, 3, 2,
1,2,6,
6,5,1,
4,5,6,
6,7,4,
2,3,6,
6,3,7,
0,7,3,
0,4,7,
0,1,5,
0,5,4
};
モデルを回転させるための私の関数は次のとおりです。
glRotatef(rotation.x,1,0,0);
glRotatef(rotation.y,0,1,0);
glRotatef(rotation.z,0,0,1);`
私は LWJGL を使用していますが、C++ を問題なく読むことができます。