GPU(그래픽 처리 장치)에서 텍스트를 렌더링하는 방식은 오랫동안 개발자들의 고민거리였습니다. 선명한 화질, 적은 메모리 사용량, 빠른 연산 속도라는 세 가지 목표 사이에서 최적의 절충점을 찾는 것이 핵심이죠. 이 글에서는 텍스트 렌더링의 주요 기법인 비트맵 아틀라스, SDF(Signed Distance Field), MSDF(Multi-channel Signed Distance Field), 그리고 최신 기술인 Slug를 비교하고, 각 방식의 특징과 적합한 활용처를 살펴봅니다.
가장 기본적인 방식은 '비트맵 아틀라스'입니다. 글리프(개별 문자 형태)를 특정 크기로 래스터화하여 텍스처에 저장한 뒤, 필요한 문자를 해당 텍스처 영역에서 가져와 그리는 방식입니다. 구현이 단순하고 속도가 빠르지만, 저장된 크기를 벗어나 확대하면 흐려지거나 픽셀이 깨지는 문제가 발생합니다. 중국어, 일본어, 한국어처럼 글리프 수가 많은 언어의 경우 여러 크기로 저장하면 메모리 부담이 커집니다. 이러한 한계를 극복하기 위해 등장한 것이 'SDF(부호 있는 거리장)'입니다. SDF는 픽셀 대신 경계까지의 거리를 저장하여 작은 텍스처를 크게 확대해도 깨끗한 경계를 유지할 수 있습니다. 하지만 날카로운 모서리가 둥글게 처리되는 단점이 있습니다. 이를 개선한 'MSDF(다중 채널 부호 있는 거리장)'는 RGB 세 채널에 서로 다른 경계 부분집합까지의 거리를 저장하여 모서리를 더 잘 보존합니다. MSDF는 아틀라스를 미리 생성할 수 있는 확장형 텍스트에 적합하지만, 여전히 고정 해상도 텍스처라는 한계와 생성 비용이 존재합니다.
최근 주목받는 기술은 'Slug'입니다. Eric Lengyel이 개발한 이 알고리듬은 글리프 윤곽선을 직접 GPU 버퍼에 저장하고, 프래그먼트 셰이더에서 픽셀별로 윤곽선 교차를 계산하여 커버리지와 안티앨리어싱(계단 현상 방지)을 처리합니다. Slug는 고정된 생성 해상도 없이 6픽셀부터 6,000픽셀까지 동일한 글리프 데이터를 사용하며, 2D/3D 변환과 원근 투영에 모두 대응할 수 있어 해상도 독립적인 렌더링이 가능합니다. 특히 텍스트가 매 프레임 바뀌거나 예측하기 어려운 3D 시점에서 선명한 가독성을 유지해야 하는 AR/VR, 시뮬레이션, CAD 같은 환경에 매우 유리합니다. Slug는 2026년 3월 17일부로 특허가 퍼블릭 도메인에 헌납되어 누구나 자유롭게 구현할 수 있게 되었습니다.
각 기술은 특정 사용 사례에 최적화되어 있습니다. 고정 크기 UI에는 비트맵 아틀라스가 가장 단순하고 효율적이며, 하드웨어 제약이 있고 둥근 모서리가 허용되는 환경에서는 일반 SDF가 적합합니다. 아틀라스 사전 생성이 가능하고 선명한 확장형 텍스트가 필요한 게임 HUD나 앱 UI에는 MSDF가 좋은 선택입니다. 반면, 크기와 원근에 관계없이 선명해야 하거나 글리프 집합이 크고 동적인 실시간 데이터, 사용자 입력, 현지화 콘텐츠 등에는 Slug가 가장 강력한 성능을 발휘합니다. 움직이는 벡터 아트가 주된 작업이라면 Rive나 다른 테셀레이션 기반 렌더러가 더 적합할 수 있습니다. 개발자는 구현 복잡도, 하드웨어 요구 사항, 메모리 사용량 등을 종합적으로 고려하여 프로젝트에 가장 적합한 텍스트 렌더링 방식을 선택해야 합니다.