0
我有半圓的紋理。它應該根據給定的角度順時針增長。首先,我的繪圖函數準備頂點和texcoords緩衝區。接下來,它加載旋轉矩陣,最後繪製紋理。代碼看起來像這樣:如何使用OpenGL在Android中按角度裁剪紋理?
float[] vertexBuffer = {x0, y0, x1, y0, x0, y1, x1, y1};
float[] texCoordBuffer = {0, 0, 1, 0, 0, 1, 1, 1};
float[] matrix = getRotationMatrix(angle); // in Z axis
matrix[12] = (x0 + x1)/2;
matrix[13] = (y0 + y1)/2;
gl.glMatrixMode(GL11.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glLoadMatrixf(matrix, 0);
gl.glBindTexture(GL11.GL_TEXTURE_2D, m_TextureID[0]);
gl.glColor4f(1f,1f,1f,1f);
gl.glVertexPointer(2, GL11.GL_FLOAT, 0, vertexBuffer);
gl.glTexCoordPointer(2, GL11.GL_FLOAT, 0, texCoordBuffer);
gl.glDrawArrays(GL11.GL_TRIANGLE_STRIP, 0, 4);
我不知道如何裁剪旋轉的紋理並將其旋轉回來。什麼是實現這種效果的正確方法?
好的,謝謝。這不是最準確的解決方案,但它的工作原理。我爲幾個角度範圍做了一些條件。 – Giebut