티스토리 뷰

sprite를 생성할 때 원본 이미지보다 큰 rect에 texture를 입혀서 생성해야 할 경우가 있다.

이 때 원본 이미지를 늘려서 텍스쳐에 입히는데 이 옵션이 래핑(wrapping)옵션이다.


- cocos2d-x 3.5에서는 default로 GL_CLAMP_EDGE로 되어있다.


래핑 종류별 설명

GL_CLAMP_EDGE

모서리 픽셀을 늘려서 확장시킨다.


GL_CLAMP_BORDER

원본 그대로 출력한다.


GL_MIRRORED_REPEAT

거울처럼 반전하면서 같은 이미지를 반복한다.


GL_REPEAT

바둑판식으로 이미지를 반복한다.


필요한 방식은 GL_CLAMP_TO_BORDER이므로 cocos2d-x 코드를 수정하였다.


    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER );

    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER );


Texture2D.cpp 안에 있는 initWithMipmapData함수 내에 위 부분의 GL_CLAMP_TO_BORDER 항목을 원하는 매크로로 교환하면 된다.


// 2015.07.03 추가 #1

ios시뮬레이터로 실행하려 하니까 GL_CLAMP_TO_BORDER가 정의되지 않았다고 오류가 발생하여 다시 롤백


// 2015.07.03 추가 #2

모바일은 openGL ES를 사용하는데, openGL ES에는 GL_CLAMP_TO_BORDER가 삭제되어있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함