관리자   |   포스트   |    로그아웃

아이튜브(itubes.co.kr)'s 반짝정보

아이튜브
아이튜브는 여성, 아동, 교육, 휴대폰 관련해 품질이 좋거나 가격이 저렴한 상품을 소개합니다. 아이튜브스 블로그에서 추천하는 제품들은 시간이 지나면 할인혜택이 종료되고 품절되는 경우가 많습니다. 발빠르게 혜택을 얻으시기 바랍니다.
ITUBE 아동, 육아정보

http://itubes.co.kr/rss
Texture Mapping
Category : Open GL/study Date : 2010/03/04 09:29

그림을 폴리곤에 입히는 것을 텍스쳐 맵핑이라고 한다
 곡면에도 그림을 입힐수있다

그림 파일(BMP)을 바로 텍스쳐 맵핑 소스로 사용할 수 없다.
이 그림 파일을 텍스쳐 맵핑 소스로 변환서 사용한다.

 glGenTextures(3, &tex[0]);
첫째는 몇개의 텍스쳐 맵핑 소스를 생성할 것인지를 지정.
두번째는 텍스쳐 맵핑 소스의 식별자의 주소값이다.
 텍스쳐 맵핑 소스의 식별자라 함은 일단 텍스쳐 맵핑 소스가 생성되었으면 나중에 사용하기 위해서 그 맵핑 소스에 이름을 붙이게 되는데 그 이름으로써 정수값을 사용하며 그 정수값을 식별자라 부른다.

gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

앞으로 설정할 텍스쳐의 식별자를 지정.
첫번째 인자는 텍스쳐가 1차원(GL_TEXTURE_1D)인지, 2차원(GL_TEXTURE_2D)인지를 지정한다.
 두번째 인자는 다음에 설정할 텍스쳐 맵핑의 식별자가 온다.

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);

축소, 확대시키는 방법을 기술하는데 대표적으로
GL_LINEAR와 GL_NEAREST가 온다.
GL_LENEAR이 GL_NEAREST보다 나은 장면을 얻을 수 있으나 속도가 느리다

텍스쳐 맵핑 소스가 맵핑되어질 물체를 어떤 식으로
확대(GL_TEXTURE_MAG_FILTER),축소(GL10.GL_NEAREST)시켜야 하는지를 지정
 

1. 텍스처 활성화

mGL.glEnable(GL10.GL_TEXTURE_2D);

2. 텍스처를 담을 내부 슬롯생성

   int[] textures = new int[1];
   mGL.glGenTextures(1, textures, 0);


3. 해당 텍스처를 연결한다.

gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureID);


4. 비트맵이미지이면서 정사각형, 변의 길이가 2의 제곱이어야 하므로

소스이미지 변환이 필수. 64*64 또는 256*256으로 변환

Bitmap bitmap = BitmapFactory.decodeResource(c.getResources(), drawableID);
Bitmap bitmap256 = Bitmap.createScaledBitmap(bitmap, 256, 256, false);


5. 비트맵을 OpenGL용 텍스처로 변경

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


6. 텍스처를 활성화하고 텍스처좌표를 설정

   gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
   gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mCoordBuffer);


7. 그리기

   draw(gl);



    엮인글 쓰기 0 | 덧글 쓰기 0 | 목록 열기 상위로
    http://itubes.co.kr/trackback/623
    Today 181 : Yesterday 306 : Total 416926 / Subscribe to RSS / Guest Book COPYRIGHT(C) 2008.01.07 아이튜브스(itubes.co.kr) ALL RIGHT RESERVED.
    최근 올라온 글
    전체 (507)
    생활 (58)
    이벤트 (317)
    휴대폰 (49)
    IT 제품 (12)
    이슈 (3)
    주식투자 (7)
    소프트웨어 (15)
    트윗 (25)
    안드로이드 (8)
    Open GL (12)
    study (0)
    program (0)
    Box2D (1)
    Http (0)
    Notification (0)
    JavaModeling (0)
    Inten (0)
    Bada (0)
    ITUBE ENTERTAINMENT

    블로그 최근 덧글
    관리자만 볼 수 있는 댓글...
     2011 – 비밀방문자
    dsdfsf
     2011 – Test
    19