안드로이드 개발중 OPenGL ES 의 Texture에서 막혀 이렇게 질문을 올리게 됬습니다.
실제 다른 OS에서는 구현이 되는데 안드로이드에서 구현시 텍스쳐가 깨지는 일이 발생했습니다.
opengles 1.1로 구현하였습니다.
구현부
gl.glFrontFace(GL10.GL_CCW);
gl.glBindTexture(GL10.GL_TEXTURE_2D, m_textures[0]);
gl.glActiveTexture(GL10.GL_TEXTURE0);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
verticesBuffer.position(0);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);
gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);
verticesBuffer.position(12);
gl.glNormalPointer(GL10.GL_FLOAT, 0, normalBuffer);
verticesBuffer.position(24);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, textureBuffer);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glDrawArrays(GL10.GL_TRIANGLES, 0, test/8);
gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY); // Disable texture-coords-array (NEW)
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
gl.glDisable(GL10.GL_CULL_FACE);
텍스쳐 부분
gl.glGenTextures(1, m_textures, 0);
gl.glBindTexture(GL10.GL_TEXTURE_2D, m_textures[0]); // Bind to texture ID
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
InputStream istream = mContext.getResources().openRawResource(R.drawable.texture0);
Bitmap bitmap;
try {
bitmap = BitmapFactory.decodeStream(istream);
} finally {
try {
istream.close();
} catch(IOException e) { }
}
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
bitmap.recycle();
제발 뭐라도 좋으니 답변 부탁드립니다.