0

そこに問題はありません。この問題の経験がある人はいますか? なにか提案を?ヒント?コード?論文?最初の変換を適用すると、空間の座標が変わるだけで、次の変換が適切に適用されていないと思います。

これが私のiOSコードです:

- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
    glClear(GL_COLOR_BUFFER_BIT);

    GLKMatrixStackPush(_obStack);

    GLKMatrixStackRotate(_obStack,
                         GLKMathDegreesToRadians(_obAngleX),
                         0.0f, 1.0f, 0.0f);
    GLKMatrixStackRotate(_obStack,
                         GLKMathDegreesToRadians(_obAngleY),
                         1.0f, 0.0f, 0.0f);

    GLKMatrixStackScale(_obStack,
                        _obScaleFactor,
                        _obScaleFactor,
                        _obScaleFactor);

    self.obEffect.transform.modelviewMatrix = GLKMatrixStackGetMatrix4(_obStack);

    // Prepare effect
    [self.obEffect prepareToDraw];

    // Draw Model
    glDrawArrays(GL_TRIANGLES, 0, panoramaVertices);

    GLKMatrixStackPop(_obStack);
    self.obEffect.transform.modelviewMatrix = GLKMatrixStackGetMatrix4(_obStack);
}

これは私のAndroidコードです:

public void onDrawFrame(GL10 arGl) {
        arGl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
        arGl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        arGl.glPushMatrix();

        arGl.glRotatef(obAngleY, 1.0f, 0.0f, 0.0f);
        arGl.glRotatef(obAngleX, 0.0f, 1.0f, 0.0f);     
        arGl.glScalef(obScaleFactor, obScaleFactor, obScaleFactor);

        if (obModel != null) {
            obModel.draw(arGl);
        }
        arGl.glPopMatrix();
    }
4

1 に答える 1