0
半円のテクスチャがあります。与えられた角度に応じて時計回りに大きくなるはずです。まず、私の描画関数は、頂点バッファとテクスチャバッファを準備します。次に、回転行列をロードし、最後にテクスチャを描画します。コードは次のようになります。AndroidでOpenGLを使用して角度でテクスチャを切り抜くには?
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