1

立方体をx軸で90度回転させた後、y軸でさらに90度回転させたいのですが、回転を実行する前に回転したため、期待どおりの(私からの)結果が得られます。ワールド座標で...私の現在のコードはIDマトリックスをリセットしていると思いますが、その行を削除しても何もレンダリングされません。これが私のコードです。

public void onDrawFrame(GL10 arg0) {
//      GLES20.glEnable(GLES20.GL_TEXTURE_CUBE_MAP);
        GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
        GLES20.glUseProgram(iProgId);

    cubeBuffer.position(0);
    GLES20.glVertexAttribPointer(iPosition, 3, GLES20.GL_FLOAT, false, 0, cubeBuffer);
    GLES20.glEnableVertexAttribArray(iPosition);

    texBuffer.position(0);
    GLES20.glVertexAttribPointer(iTexCoords, 3, GLES20.GL_FLOAT, false, 0, texBuffer);
    GLES20.glEnableVertexAttribArray(iTexCoords);

    GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    GLES20.glBindTexture(GLES20.GL_TEXTURE_CUBE_MAP, iTexId);
    GLES20.glUniform1i(iTexLoc, 0);


    Matrix.setIdentityM(m_fIdentity, 0);


    if(rotating == true)
    {
        rotate();
    }

    Matrix.rotateM(m_fIdentity, 0, -xAngle, 0, 1, 0);
    Matrix.rotateM(m_fIdentity, 0, -yAngle, 1, 0, 0);

    Matrix.multiplyMM(m_fVPMatrix, 0, m_fViewMatrix, 0, m_fIdentity, 0);
    Matrix.multiplyMM(m_fVPMatrix, 0, m_fProjMatrix, 0, m_fVPMatrix, 0);

// Matrix.translateM(m_fVPMatrix、0、0、0、1); GLES20.glUniformMatrix4fv(iVPMatrix、1、false、m_fVPMatrix、0);

    GLES20.glDrawElements(GLES20.GL_TRIANGLES, 36, GLES20.GL_UNSIGNED_SHORT, indexBuffer);

// GLES20.glDisable(GLES20.GL_TEXTURE_CUBE_MAP); }

4

0 に答える 0