LANGUAGE/ANDROID 2015. 5. 4. 14:37

///// OPENGL 1.0


///// 2D


///// 비트맵 로드

Bitmap bitmap = BitmapFactory.decodeStream(game.getFileIO().redAsset("bobrgb888.png"));


///// 단일 텍스처 객체 생성 후 ID얻기

int textureIds[] = new int[1];

gl.glGenTextures(1, textureIds, 0);

int textureId = textureIds[0];


///// 텍스처 객체 바인딩

gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);

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


///// 필터 설정

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_NEAREST);


///// 텍스처 바인딩 해제 및 비트맵 언로드

gl.glBindTexture(GL10.GL_TEXTURE_2D, 0);

bitmap.recycle();



///// 

GL10 gl = glGraphics.getGL();

gl.glViewport(0, 0, glGraphis.getWidth(), glGraphics.getHeight());

gl.glClear();

gl.glMatrixMode();

gl.glLoadIdentity();

gl.glOrthof(0, 320, 0, 480, 1, -1);



gl.glEnable(GL10.GL_TEXTURE_2D);

gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);


///// 활성화 시키기

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);

gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

//비활성화 시키기 //gl.glDisableClientState(GL10.GL_COLOR_ARRAY);


/////인터리빙(interleaving) 방식

vertices.position(0);

gl.glVertexPointer(2, GL10.GL_FLOAT, VERTEX_SIZE, vertices);

vertices.position(2);

gl.glTexCoordPointer(2, GL10.GL_FLOAT, VERTEX_SIZE, vertices);    

//색상 입힐 경우 //gl.glColorPointer(4, GL10.GL_FLOAT, VERTEX_SIZE, vertices);


gl.glDrawElements(GL10.GL_TRIANGLES, 0, 3);

gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);



///// 매트리스 스택
gl.glPushMatrix();
gl.glPopMatrix();


///// 광원
주변광
점광
방향광
스포트라이트

///// 재료
주변색
분산색
정반사색
발산색


'LANGUAGE > ANDROID' 카테고리의 다른 글

Android 기초  (0) 2015.05.04
android 정리중  (0) 2015.05.04