[ 이 게시물에서 사용된 모든 이미지의 저작권은 (주)아이언트리 에게 있습니다. ]


이전 포스트에서 올렸던 Bin Packing 을 이용해서


여러개의 Texture를 하나의 RenderTexture로 만들어서 사용하는 모듈을 만들었습니다.


(소스 공개는 나중에 게임 오픈하고 나면 그때 풀께요 ㅋㅋㅋ)





TextureAtlas 예제는 


a.png/a.xml, b.png/b.xml, c.png/c.xml 이 세개의 atlas texture를 가지고 각각 하나씩 오브젝트를 가져와서 배치한 예제입니다.


오른쪽에 Stat 에서 볼 수 있듯이 draw call 이 3으로 표시됩니다.


각각 텍스쳐가 따로 gpu에 올라가있으니까 당연한거죠.


TextureAtlas 예제






오늘 만든 TexturePacker를 이용해서 사용할 경우


각 텍스쳐에서 필요한 텍스쳐만 모아다가 하나의 RenderTexture에 뿌려놓고 사용하는 로직을 타게 됩니다.


오른쪽에 보다시피 draw call 이 1로 되어 있습니다.


만약 이렇게 모은 RenderTexture가 2048x2048을 넘을 경우 여러장의 RenderTexture를 핸들링하게 되어 있습니다.


아무튼 훌륭하게 동작하네요 ㅋ


TexturePacker 예제


Draw call 줄이는게 능사는 아니지만


메모리도 줄어드는거보니 뿌듯하네요 ㅎㅎ


초기화 퍼포먼스가 얼마나 느려지는지 궁금하긴 하지만 일단 여기서 만족 :D




For the better.


저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 메타콰이어 2012.11.15 15:10 신고

    오오 드디어~!~! ㅎㅎㅎ
    멋져요 ㅋㅋㅋㅋㅋㅋ

  2. scarkoo 2012.11.16 11:44 신고

    안녕하세요. 우야꼬님~
    개별 텍스쳐는 압축된 형태로 로드해서 RenderTexture에 그리시는 건가요?

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2012.11.16 11:50 신고

      atf일수도 있고 png 일수도 있죠.

      일단 Image로 감싸고 RenderTexture에 찍습니다.

      Texture를 바로 찍을 수 있음 좋은데 아직 방법을 못 찾았네요 ㅎㅎ

  3. 2012.11.18 22:15

    비밀댓글입니다

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2012.11.18 22:24 신고

      아마 다른 우야꼬님이랑 헷갈리신거 같아요.
      간혹 블로그 잘못 찾아오시는 분이 있어요 ㅎㅎ

  4. Favicon of http://lpesign.tistory.com LPesign 2012.12.24 16:55 신고

    구현완료! -_-v

동적으로 AltasTexture를 생성하려면


여러가지 텍스쳐를 최적의 크기로 조합하여 한장안에 꾸겨넣는 기법이 필요합니다.


기본 알고리즘은 Packing Lightmaps를 참고하였습니다.



위 알고리즘을 토대로 만들어본 Bin Packing 테스트 결과물입니다.


데모 보기


요 알고리즘을 만들때 참고한 Javascript 버전 같이 올려드립니다.


(대표님이 "왜 보고 짰어" 라고 하시길래 덧붙이는데 먼저 만들고나서 찾은겁니다 -_- 허프만 알고리즘도 만들어봤는데 ㅠㅠ)


링크 : Bin packing for Javascript



저작자 표시 비영리 동일 조건 변경 허락
신고




안녕하세요.


주식회사 아이언트리글로벌의 윤진상 기술센터 매니져입니다.


이번에 저희 회사에서 신입이나 경력 개발자를 채용하게 되었습니다.


Flash의 게임 개발성이 검증되었다 판단되어


Flash 게임 개발 인력을 셋팅하게 되어 채용을 진행합니다.






Flash는 현재 게임과 모바일 멀티 플랫폼 개발툴로서 자리매김을 하고 있습니다.


시장이 크지 않지만 게임에 한해서는 유니티, cocos2d와 견주어도 손색 없을 만큼의 성장을 이뤘습니다.


Starling을 필두로 기존의 Flash 패러다임을 벗어나 진정한 게임 개발툴로써 발전해나가고 있습니다.


기존의 Flash 개발은 PNG 이미지와 Frame 애니메이션을 주축으로 개발이 되어온 반면에

앞으로의 Flash 개발은 Texture와 GPU Rendering 을 주축으로 한 기성 게임 개발의 프로세스로 개발이 되어가고 있습니다.


아직 플랫폼 초기라 자료도 많지 않고 레퍼런스도 찾기 힘듭니다.


우리나라에서 가장 선두에 있는 Starling을 이용한 멀티 플랫폼 개발에 선두에 도전하실 분들을 기다립니다.


겁내지 마세요. 


저와 같이 고민하고 저와 같이 연구하면서 해결해나갈 수 있습니다.


이미 차기작도 상당한 진행을 한 상태입니다.


이 노하우를 공유하여 같이 시장의 초기 선두를 잡을 개발자를 기다립니다.


UI를 담당하셔도, 게임 개발에 도전하셔도 좋습니다.


게임 개발에는 Flash의 장점을 살려 저와 함께 차기작을 개발하실 분들을 기다립니다.






 - 회사명 : 아이언트리 글로벌


 - 직원수 : 15명


 - 모집 분야 : Flash Game UI / Flash Game Developer


 - 고용형태 : 정규직


 - 모집 인원 : 2~3명(신입/경력 무관)


 - 모집 기간 : 2012년 11월 30일까지


 - 급여조건 : 회사 내규에 따름


 - 지원 자격 : 없음


 - 담당 업무 : 차기작 Flash Game UI 개발 혹은 차기 Flash Game 개발


 - 전형 방법 : 1차 서류 면접, 2차 실무 면접, 3차 임원 면접

(면접은 서류 전형 합격자에게 개별 통보합니다)


 - 제출서류 : 이력서, 자기소개서, 포트폴리오


 - 근무조건 : 4대보험, 정시퇴근 보장, 경영실적에 따른 인센티브, 주5일 근무, 연차, 정기휴가


 - 지원 방법 : wooyaggo@irontreeglobal.com 이메일로 지원




감사합니다.




곧 오픈하는 자사 게임 터치 아일랜드 게임 화면 (Cocos2D로 개발)




저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 2012.12.11 15:36

    비밀댓글입니다

+ Recent posts

티스토리 툴바