GPU 텍스트 렌더링 5가지 기법 비교: Slug 특허 공개와 함께
원제 SDF vs. MSDF vs. Slug: GPU Text Rendering
114 포인트댓글 47
Key Point
2026년 Slug 특허가 공개 도메인으로 해방되면서 고사양 3D·AR 환경의 텍스트 렌더링 기술이 개방되었으며, 각 기법의 정확한 트레이드오프를 이해하면 게임, 시뮬레이션, 데이터 시각화 프로젝트에서 최적의 방식을 선택할 수 있다.
핵심 요약
- GPU에서 글자를 렌더링하는 방식은 텍스트가 매 프레임 바뀌고 임의의 3D 변환 아래서도 선명해야 한다는 제약으로 인해 CPU 래스터화보다 복잡하다.
- 가장 오래된 텍스처 아틀라스 방식은 글자를 고정 크기로 미리 렌더링해 저장하므로, 확대하면 흐릿해지고 중국어·일본어·한국어 같은 거대 글자 집합은 메모리가 폭증한다.
- SDF(부호있는 거리장)는 픽셀 대신 가장자리까지의 거리를 저장해 확대에 강하지만, 날카로운 모서리가 둥글어지는 한계가 있다.
- MSDF(다중채널 SDF)는 3개 채널로 모서리를 정확히 보존하고 현재 많은 팀이 사용하는 표준 선택지지만, 여전히 미리 구워진 아틀라스이므로 동적 텍스트나 CJK 글자 집합의 문제를 완전히 해결하지 못한다.
- 테셀레이션 기법(Loop-Blinn, NV_path_rendering, Pathfinder, Rive)은 윤곽선을 기하학으로 변환해 GPU가 래스터화하므로 품질이 우수하지만, 프레임마다 재계산 오버헤드가 있고 하드웨어 의존성이 높다.
- Slug 알고리즘은 Eric Lengyel이 2017년 발표했으며, 글자 윤곽선을 그대로 작은 GPU 버퍼에 보관하고 프래그먼트 셰이더에서 광선-곡선 교점을 계산해 정확한 커버리지를 구한다.
- Slug은 아틀라스나 매 프레임 테셀레이션이 없으므로, 6픽셀이든 6000픽셀이든 동일하게 선명하고, 원근 변환을 포함한 임의의 3D 변환 후에도 정확성을 유지한다.
- Slug은 텍스트 변경 비용이 없고 원근감 있는 3D 환경에서 정확하지만, 테셀레이션 기법과 달리 고성능 셰이더 단계가 필요하며 구현 복잡도가 높다.
- 2019년 Lengyel이 Slug을 특허 출원했고, 2026년 3월 그 특허를 공개 도메인으로 헌납했으므로 누구나 구현 가능하다.
- AlphaPixel은 Slughorn이라는 C++20 구현을 개발했으며, OpenGL, Vulkan, WebGPU, DirectX를 지원하고 텍스트뿐 아니라 SVG, 그래디언트 같은 벡터 그래픽 전반을 렌더링한다.
- 각 기법의 선택 기준은: Slug은 VR/AR/3D 환경과 동적 텍스트, MSDF는 정적 UI와 광범위한 하드웨어 지원, SDF는 저사양 장치, 비트맵 아틀라스는 고정 크기 UI, Rive는 애니메이션 벡터 아트에 적합하다.
- Slug은 거대 글자 집합(CJK)을 비트맵 아틀라스보다 훨씬 작은 메모리로 처리할 수 있으며, 매우 정교한 3D 투영과 지도 제작 규모의 그래픽에서도 해상도 독립성을 유지한다.