簡體   English   中英

Android OpenGL 2D旋轉根本不起作用

[英]Android OpenGL 2D rotation not working at all

我正在嘗試開始一個簡單的2D openGL游戲。 我在旋轉時遇到了麻煩。 旋轉和平移似乎都不起作用。 我完全沒有結果。 在下面的示例中,我嘗試在屏幕中央旋轉一個小的50x50正方形。


public void onSurfaceCreated(GL10 gl10, EGLConfig eglConfig) {
    gl10.glEnable(GL10.GL_TEXTURE_2D);

    gl10.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    textures = new int[1];

    // LOAD TEXTURE
    Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.grass);

    gl10.glGenTextures(1, textures, 0);
    gl10.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

    gl10.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
    gl10.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);

    mCrop = new int[4];
    mCrop[0] = 0;
    mCrop[1] = bitmap.getHeight();
    mCrop[2] = bitmap.getWidth();
    mCrop[3] = -bitmap.getHeight();

    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);

    bitmap.recycle();
}




 public void onDrawFrame(GL10 gl) {
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        gl.glShadeModel(GL10.GL_FLAT);
        gl.glEnable(GL10.GL_BLEND);
        gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
        gl.glColor4x(0x10000, 0x10000, 0x10000, 0x10000);

        gl.glMatrixMode(GL10.GL_PROJECTION);
        gl.glLoadIdentity();

        gl.glOrthof(0.0f, sWidth, 0.0f, sHeight, 0.0f, 1.0f);

        gl.glMatrixMode(GL10.GL_MODELVIEW);

        gl.glEnable(GL10.GL_TEXTURE_2D);

        gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
        ((GL11)gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, mCrop, 0);

        gl.glPushMatrix();
        gl.glRotatef(anglefromcenter, 0, 1, 0);
        ((GL11Ext)gl).glDrawTexfOES(sWidth/2, sHeight/2, 0, 50, 50);
        gl.glPopMatrix();

    ...

任何幫助將非常感激。 謝謝!

首先,我不確定“ glDrawTexfOES”是否可以與任何矩陣一起使用。 至於“ glRotatef”,您所做的只會顯示圍繞X縮放圖像,就像glScalef(sin(anglefromcenter),1.0,1.0)一樣。 另請注意,glRotatef的角度單位為度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM