본문 바로가기

Cocos2d-x v3.17/기본기능

[Cocos2d-x 기본기능]다각형 스프라이트 Polygon Sprite

반응형

다각형 스프라이트(Polygon Sprite) 

 

다각형 스프라이트도 스프라이트 이고 똑같이 컨트롤하기 위한 이미지입니다.

하지만 일반 스프라이트와의 다른점은 그냥 스프라이트는 렌더링할때 두개의 삼각형으로 나뉘어져 처리합니다.

다각형 스프라이트는 삼각형들의 집합으로 나뉘구요.왜 다각형 스프라이트를 사용할까요? 

   

성능향상 

 

어떤방식으로 성능향상을 하는지 심도깊게 이해하려면 픽셀과 관련된 기술용어를 알아야 합니다. 

하지만 이챕터는 입문형 문서이기 떄문에 여러분은 다각형 스프라이트가 보통 스프라이트보다 성능이 좋다고 생각하시면 됩니다.

 

 

좌우 두그림을 보십시오. 

좌측은 일반 스프라이트의 전형적인 렌더링 처리입니다.

스프라이트는 두개의 삼각형으로 이뤄진 사각형으로 처리됩니다. 

우측은 다각형 스프라이트입니다.

스프라이트는 삼각형의 집합으로 형성되있습니다. 

잘보시면 알겠지만 우측 다각형 스프라이트의 픽셀수가 좌측 스프라이트의 픽셀수보다 적습니다.

하지만 여러 삼각형으로 나눠 그렸기 때문에 정점은 많아졌지요.

현재의 이미지 처리기술은 정점렌더링이 픽셀렌더링보다 빠릅니다.

따라서 다각형 스프라이트의 성능이 좋다고 하는것이구요. 


AutoPolygon 

 

Autopolygon은 도구 클래스입니다.

이 클래스는 런타임때 트래킹 과 삼각측량을 사용하여 하나의 사각형그림을 삼각형의 집합으로 변환시킵니다. 

먼저 이미지 리소스를 AutoPolygon으로 생성한다음 우리는 생성한것으로 스프라이트를 생성하면 다각형 스프라이트가 생성이 됩니다. 

C++ 

// Generate polygon info automatically.

auto pinfo = AutoPolygon::generatePolygon("filename.png"); 

// Create a sprite with polygon info.

auto sprite = Sprite::create(pinfo); 

   

출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/sprites/polygon.html>

 


반응형