본문 바로가기

Dev/graphics

[graphics] Tessellation과 Polygon Optimization

[Polygon Optimization] - 중간화질(이게많이 안떨어지면 좋음) [저용량!]
- 웹지엘 같은데로 내보낼때, 

[Tessellation] - [고화질!] 고용량(이게 많이 안높아지면좋음)
- 왜하는거지? 섬세하게 표현하고 싶을때,
화장실 타일
테셀레이션은 단순히 폴리곤의 면적을 잘게 쪼개어 더 많은 버텍스를 갖게 해주는 것일 뿐이고 디스플레이스먼트 매핑은 그 잘게 쪼개인 버텍스의 높낮이를 조절해서 울퉁불퉁한 표면의 굴곡을 만드는 역할이기 때문이다.
이름의 유래는 폴리곤을 삼각형으로 분할해 빠짐없이 메우는 특성 때문으로 보인다.
이 메쉬를 구성하는 단위는 폴리곤인데 폴리곤은 전부 삼각형 모양이기 때문에 메쉬를 구성하는 폴리곤 숫자가 적으면 자연스레 겉면이 울퉁불퉁해지고 어색해진다  (삼각형아닐수도 있음)
, 사실 바위의 거친 표면이나 자갈 하나하나를 폴리곤으로 구성하려면 굉장히 힘이 들고 사양 또한 무지막지하게 잡아먹는다. 그래서 그래픽 엔지니어들은 자잘한 디테일은 생략하고 평면을 깔아 그 위에 울퉁불퉁하게 보이기 위해 범프매핑이나 노말 매핑, 패럴랙스 매핑, 패럴랙스 오클루젼 매핑[2] 등의 기법을 이용하여 눈속임을 했었다.
테셀레이션은 이런 눈속임이 아니라 말 그대로 자잘한 것까지 모조리 폴리곤으로 구성하는 기술이다
디스플레이스먼트 매핑과 마찬가지로 테셀레이션이 적용되면 연산해야할 폴리곤의 숫자가 엄청나게 많아서 처리속도가 느려진다. 그러나 DirectX 11, OpenGL 4 이상을 지원하는 GPU엔 기본적으로 테셀레이션 처리 모듈인 테셀레이터가 포함되어있기 때문에 같은 수의 폴리곤을 가진 모델을 넣는 것보다 그나마 더 효율적이다.