토르 벡터 그래픽스

website = www.thorvg.org **토르 벡터 그래픽스**(Thor Vector Graphics) 또는 **토르VG**(ThorVG)는 오픈 소스 라이브러리 (컴퓨팅)로 SVG와 로티 같은 벡터 그래픽스 기반의 모션 그래픽스와 애니메이션을 구현하는 기능을 제공한다. 호환성과 이식성을 고려하여 다양한 종류의 컴퓨팅 플랫폼과 응용 소프트웨어에서 사용할 수 있다.확인날짜=2023-12-08확인날짜=2023-12-08확인날짜=2023-12-08 ThorVG는 웹어셈블리 기술을 활용해 웹 플랫폼에서 그래픽 출력을 지원하며"그래픽 엔진 포팅 사례로 배우는 웹어셈블리 웹 컴포넌트 개발부터 디버깅, 최적화까지│인프콘2024", CPU 뿐만 아니라 OpenGL, WebGL, 웹GPU와 같은 다양한 그래픽스 출력 장치를 통해 하드웨어 가속을 지원한다.
# 1. 기능 특징
* **장면 그래프 및 경로 렌더링**: ThorVG는 두 가지 주요 렌더링 기능을 지원. 장면 그래프는 사용자가 계층 구조의 그릴 수 있는 객체들을 생성하고 조작할 수 있게 해주며, 경로 기반 인터페이스는 벡터 도형과 경로를 직접 그릴 수 있도록 한다. * **변환(Transformations)**: 그래픽 객체에 대해 평행 이동, 스케일링, 회전 등의 아핀 변환을 지원 * **색상 그라디언트**: 더욱 표현력 있는 시각 디자인을 위해 선형 및 방사형 그라디언트를 지원 * **안티 앨리어싱**: 렌더링된 출력에서 시각적 노이즈를 줄이기 위한 부드럽게 처리하는 기술을 포함 * **멀티스레드 및 비동기 렌더링**: 렌더링 작업을 여러 스레드에 걸쳐 스케줄링할 수 있어, 멀티코어 시스템에서 성능 향상 * **부분 렌더링:** 장면 내에서 프레임 간 변경된 영역만을 추적하여 해당 부분만 다시 그리는 기능을 제공 * **렌더 백엔드 추상화**: 소프트웨어, OpenGL, WebGL, WebGPU 지원 * **포맷 지원:** SVG, LOT, PNG, JPEG, WebP, TTF, TVG (ThorVG 전용 포맷)
# 2. 이식성 및 경량성
ThorVG는 **단순성**, **명확성**, **성능**을 중시하는 설계 철학에 따라 개발된 벡터 그래픽스 엔진으로, 직관적인 API와 낮은 실행 오버헤드, 높은 실시간 처리 성능을 고려한다. 특히, 저용량 메모리 환경과 다양한 플랫폼에 최적화되어 있어 임베디드 시스템이나 크로스 플랫폼 애플리케이션 개발에 적합하다.언어=en
## 2.1. 초경량 설계
ThorVG의 코어 라이브러리는 약 **150KB**ThorVG minimum binary size badge 수준의 바이너리 크기를 유지한다. 이는 데스크톱 환경을 중심으로 설계된 그래픽스 엔진들과 비교해 매우 작은 크기이며, 다음과 같은 장점을 제공한다: * **메모리 효율성**: 런타임 메모리 사용량이 적어 저사양 시스템에서도 안정적으로 동작한다. * **빠른 초기화 시간**: 라이브러리 로딩 및 초기화가 빠르게 이루어져 전체 애플리케이션의 시작 속도를 향상시킨다. * **저용량 배포 가능성**: 코드 및 리소스 크기가 작아 임베디드 시스템, IoT 기기, 네트워크 제약 환경 등에서 유리하다.
## 2.2. 폭넓은 이식성
ThorVG는 C++14 표준을 기반언어=en으로 하며, 운영체제나 하드웨어에 의존하지 않는 추상화 계층을 통해 다양한 플랫폼에서 일관된 기능을 제공한다. * **광범위한 플랫폼 지원**: Windows, macOS, Linux와 같은 데스크톱 운영체제는 물론 Android, iOS 등의 모바일 OS, Tizen 및 RTOS 기반 임베디드 시스템에서도 사용 가능하다. * **초소형 마이크로컨트롤러 환경**: ESP32와 같은 마이크로컨트롤러에서도 동작 가능한 것으로 보고되며, 이는 매우 제한된 메모리와 저장 공간 내에서도 ThorVG의 경량성이 효과적으로 발휘됨을 보여준다.언어=en * **헤드리스 렌더링 지원**: 디스플레이 서버가 없는 환경에서도 렌더링을 수행할 수 있어, 서버 측 그래픽 처리나 오프라인 변환 도구 등 다양한 활용이 가능하다. 이러한 특성 덕분에 ThorVG는 크로스플랫폼 애플리케이션, 웨어러블 디바이스, 실시간 UI 렌더링 엔진 등 다양한 환경에서 효과적으로 통합될 수 있다.
# 3. 로티 애니메이션 지원
ThorVG는 Bodymovin 플러그인을 통해 어도비 애프터 이펙트에서 내보낸 JSON 기반 애니메이션 포맷인 Lottie(파일 형식) 애니메이션 렌더링 기능을 포함하고 있다. 이를 통해 개발자는 특히 효율성이 중요한 임베디드 장치의 사용자 인터페이스에서 복잡하면서도 가벼운 벡터 애니메이션을 손쉽게 통합할 수 있다.확인날짜=2025-04-20 Canva 개발팀은 기존 Canva iOS 애플리케이션에서 rlottie 엔진을 ThorVG로 대체한 후, Lottie 애니메이션 성능이 약 70 ~ 80% 향상되었다는 테스트 결과를 공유한 바 있다.확인날짜=2024-07-07 ThorVG 엔진으로 구동한 로티 애니메이션
# 4. 호환 시스템
* 리눅스 * 맥 OS * 마이크로소프트 윈도우 * 타이젠 * IOS * 안드로이드 (운영체제) * 웹 플랫폼확인날짜=2025-04-02 * 고도 (게임 엔진) * NuttX * Espressif확인날짜=2025-04-02 * Xiaomi Vela
# 5. ThorVG 적용 소프트웨어
* Vagabond확인날짜=2023-12-08 * Canva iOS * GodSVG * Flux확인날짜=2024-07-01 * Paragraphic확인날짜=2025-03-31 * LottieCreator * TinyPiXOS * emWin
# 6. 주요 역사
* 2020년 - 박춘언은 ThorVG의 첫 프로토타입을 개발하였다. 이름 ‘토르(Thor)’는 성능과 경량성을 강조하기 위해 명명되었다.ThorVG의 상징적 의미는 공식 가이드 문서에서 찾아볼 수 있다. * 2021년 - 삼성전자의 기여와 함께 초기 버전이 완성되었고 타이젠 플랫폼에 통합되었다.확인날짜=2025-04-21 같은 해, 고도 (게임 엔진)는 벡터 에셋 출력을 위해 ThorVG를 통합했다.Looking at Godot 4.2.2 and 4.1.4 | Maintenance Release * 2022년 - Peter Vullings의 디자인 기여를 통해 ThorVG의 정식 로고가 확립되었다.확인날짜=2025-04-19 * 2023년 - LottieFiles가 개발에 참여하며 로티 (파일 형식) 포맷 지원이 추가되었다.확인날짜=2025-04-21 또한, LVGL 프레임워크는 UI 구성 요소의 벡터 렌더링을 위해 ThorVG를 통합하였다.확인날짜=2025-04-21 * 2024년 - WebGL과 웹GPU 렌더 백엔드가 추가되었다.확인날짜=2024-09-07 dotlottie 프로젝트는 ThorVG를 코어 엔진으로 채택하였으며DotLottie Player – A New Universal Lottie Player Built with Rust LottieFiles는 ThorVG 공식 후원사로 참여하였다.확인날짜=2025-10-31 * 2025년 - Lottie Creator 프로젝트가 벡터 그래픽 출력 엔진으로 ThorVG를 도입하였다. ESP-IoT-Solution에서 ThorVG를 공식 컴포넌트로 도입하였다.확인날짜=2025-11-07 ThorVG 로고 디자인 (초기 버전)
# 7. 릴리즈 정보
* ThorVG v0.1: May 1, 2021access-date=2023-12-08 * ThorVG v0.2: Jun 5, 2021access-date=2023-12-08 * ThorVG v0.3: Jul 3, 2021access-date=2023-12-08 * ThorVG v0.4: Aug 9, 2021access-date=2023-12-08 * ThorVG v0.5: Sep 24, 2021access-date=2023-12-08 * ThorVG v0.6: Nov 3, 2021access-date=2023-12-08 * ThorVG v0.7: Dec 23, 2021access-date=2023-12-08 * ThorVG v0.8: Mar 8, 2022access-date=2023-12-08 * ThorVG v0.9: May 9, 2023access-date=2023-12-08 * ThorVG v0.10: Jul 31, 2023access-date=2023-12-08 * ThorVG v0.11: Sep 28, 2023access-date=2023-12-08 * ThorVG v0.12: Jan 4, 2024access-date=2023-04-09 * ThorVG v0.13: Apr 9, 2024확인날짜=2024-04-09 * ThorVG v0.14: Jun 27, 2024확인날짜=2024-06-28 * ThorVG v0.15: Oct 6, 2024확인날짜=2024-10-06
# 8. 같이 보기
* 로티 (파일 형식) * SVG * 벡터 그래픽스 * 웹GPU
# 9. 외부 링크
* https://www.thorvg.org/ * 소셜 미디어 - LinkedIn 공식 계정 * 커뮤니티 - 디스코드 * ThorVG: 차세대 모션 그래픽을 위한 범용 벡터 그래픽 엔진 전략 (2021) * 그래픽 엔진 포팅 사례로 배우는 웹어셈블리 웹 컴포넌트 개발부터 디버깅, 최적화까지 (2024) * Universal Motion Graphics across All Platforms: Unleashing Creativity with ThorVG (2025)
# 10. 각주
각주 자유-오픈 소스 소프트웨어 위키데이터 속성 추적 분류:MIT 라이선스 소프트웨어 분류:공개 소프트웨어 분류:그래픽 라이브러리 분류:벡터 그래픽스