Android での OpenGL ES 2.0 の学習。エミュレーターを使用し、Android 4.1 を実行しています。
Android デベロッパー サイト / OpenGLからコピーして貼り付けたスニペット
onDrawFrame
メソッドを更新しました。以下に貼り付けます。Null MatrixMatrix.setIdentityM(mRotationMatrix, 0)
だったので追加。mAngle を angle に変更しました (16 行目)。
public void onDrawFrame(GL10 unused) {
// Redraw background color
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
// Set the camera position (View matrix)
Matrix.setLookAtM(mVMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
// Calculate the projection and view transformation
Matrix.multiplyMM(mMVPMatrix, 0, mProjMatrix, 0, mVMatrix, 0);
// Create a rotation transformation for the triangle
long time = SystemClock.uptimeMillis() % 4000L;
float angle = 0.090f * ((int) time);
Matrix.setIdentityM(mRotationMatrix, 0); //added
Matrix.setRotateM(mRotationMatrix, 0, angle, 0, 0, 1.0f); //changed
// Combine the rotation matrix with the projection and camera view
Matrix.multiplyMM(mMVPMatrix, 0, mRotationMatrix, 0, mMVPMatrix, 0);
// Draw shape
mTriangle.draw(mMVPMatrix);
}
そしてコメントアウトsetRenderMode(RENDERMODE_WHEN_DIRTY);
それでも、描かれた三角形は回転しませんでした。どこで私は間違えましたか?