-
Notifications
You must be signed in to change notification settings - Fork 1
Vector Graphics Resources
์คํ์์ค ์ฝ์ด ๋ฒกํฐ ๊ทธ๋ํฝ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ด๋ฅผ ์ฌ์ฉํ๋ ์ ํ๊ณผ ์ฐ๊ตฌ, ๋ฒกํฐ ๊ทธ๋ํฝ์ค ๊ธฐ์ ์ ๊ธฐ์ดยท์ต์ ์๋ฃ, ๊ทธ๋ฆฌ๊ณ ์ ๋๋ฉ์ด์ (๋ชจํยท์ค์ผ๋ ํ)ยท3D ํํยท๋ฌผ๋ฆฌ ํจ๊ณผ ์๋ฃ ๋ชจ์์ ๋๋ค.
ThorVG ์์ฒด์ ๋ํ ์๋ฃ๋ ThorVG Resources์ ๋ณ๋๋ก ์ ๋ฆฌ๋์ด ์์ต๋๋ค.
๋๋ก์, SVG, Lottie, Rive ๋ฑ์ ๋ ๋๋งํ๋ ์คํ์์ค ์ฝ์ด ๋ฒกํฐ ๊ทธ๋ํฝ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- Skia - Google์ด ๊ด๋ฆฌํ๋ ์คํ์์ค 2D ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์ ์ฌ์ดํธ. Chrome, Android, Flutter์์ ์ฌ์ฉ๋จ
- About Skia - BSD ๋ผ์ด์ ์ค, ์ฃผ์ ์ฌ์ฉ ์ ํ(Chrome, ChromeOS, Android, Flutter)์ ์ค๋ช ํ๋ ํ๋ก์ ํธ ๊ฐ์
- Documentation | Skia - ์ฌ์ฉ์/๊ฐ๋ฐ์ ๋ฌธ์, ๋ชจ๋, ์ค๊ณ ๋ฌธ์๋ก ์ฐ๊ฒฐ๋๋ ๊ณต์ ๋ฌธ์ ์ธ๋ฑ์ค
- API Reference and Overview | Skia - SkCanvas, SkPaint, SkPath ๋ฑ ํต์ฌ API ๊ฐ์ ๋ฌธ์
- SkCanvas Overview | Skia - ๊ทธ๋ฆฌ๊ธฐ ์ปจํ ์คํธ SkCanvas์ ๊ตฌ์กฐ์ ๋งคํธ๋ฆญ์ค/ํด๋ฆฝ ์คํ ์ค๋ช
- SkPaint Overview | Skia - ์์, ํํฐ, ํจ๊ณผ ๋ฑ ์คํ์ผ ์์ฑ์ ๋ด๋ SkPaint ๊ฐ์ฒด ๊ฐ์
- Skia API Reference (Doxygen) - Doxygen์ผ๋ก ์๋ ์์ฑ๋ Skia C++ ํด๋์ค ๋ ํผ๋ฐ์ค
- Design Documents | Skia - ์ํฐ์์ผ๋ฆฌ์ด์ฑ, ํ ์คํธ, PDF, ๊ทธ๋ผ๋์ธํธ ๋ฑ ์ฃผ์ ๊ธฐ๋ฅ์ ์ค๊ณ ๋ฌธ์ ๋ชจ์
- skia - Git at Google - Skia์ ์ ์(canonical) ์์ค ์ ์ฅ์. ์ฝ๋ ๋ฆฌ๋ทฐ์ ๊ธฐ์ค ์ ์ฅ์
- Skia Git repositories - skia, buildbot, skcms ๋ฑ ๊ด๋ จ ์ ์ฅ์ ๋ชฉ๋ก์ ์ ๊ณตํ๋ ๊ณต์ Git ํธ์คํ
- GitHub: google/skia - googlesource๋ฅผ ๋ฏธ๋ฌ๋งํ ๊ณต์ GitHub ์ ์ฅ์(BSD-3-Clause)
- skia/src/gpu - ๋ ๊ฑฐ์ Ganesh์ ์ฐจ์ธ๋ Graphite GPU ๋ฐฑ์๋ ์์ค๊ฐ ์์นํ ๋๋ ํฐ๋ฆฌ
- src/gpu/graphite - ์ฐจ์ธ๋ GPU ๋ฐฑ์๋ Graphite(Metal/Vulkan/Dawn ๋์) ์์ค ๋๋ ํฐ๋ฆฌ
- Graphics and Skia | The Chromium Projects - Chromium์ด Skia๋ฅผ ๊ทธ๋ํฝ ์์ง์ผ๋ก ํตํฉํด ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋ค๋ฃฌ ์ค๊ณ ๋ฌธ์
- Library Modules | Skia - CanvasKit, Skottie ๋ฑ Skia ์์ ๋ชจ๋ ๋ชฉ๋ก
- CanvasKit - Skia + WebAssembly - ์น(WebAssembly)์์ Skia ๊ทธ๋ํฝ API๋ฅผ ์ฌ์ฉํ๋ CanvasKit ๋ฌธ์
- Skottie - Lottie Animation Player - Skia๋ก Lottie(JSON) ์ ๋๋ฉ์ด์ ์ ๋ ๋๋งํ๋ Skottie ๋ชจ๋ ๋ฌธ์
- Skia Graphics Engine - Wikipedia - Skia์ ์ญ์ฌ์ ์ฌ์ฉ ์ ํ(Chrome, Firefox, Android, LibreOffice ๋ฑ) ์ ๋ฆฌ
- Blend2D - JIT ์ปดํ์ผ๋ฌ ๊ธฐ๋ฐ ๊ณ ์ฑ๋ฅ 2D ๋ฒกํฐ ๊ทธ๋ํฝ ์์ง ๊ณต์ ํํ์ด์ง. Petr Kobalicek ๊ฐ๋ฐ, Zlib ๋ผ์ด์ ์ค
- About - Blend2D - JIT ํ์ดํ๋ผ์ธ ์์ฑ, ํด์์ ๋์คํฐ๋ผ์ด์ , ๊ณก์ ์คํ์ ์คํธ๋กํน, ๋ฉํฐ์ค๋ ๋ ๋ ๋๋ง์ ์ค๋ช ํ๋ ์ํคํ ์ฒ ์๊ฐ
-
Performance - Blend2D -
bl_bench๋ก ์ธก์ ํ ์ฑ๋ฅ ๋ฒค์น๋งํฌ ์๊ฐํ. AGG, Cairo, JUCE, Skia ๋ฑ๊ณผ ๋น๊ต ๊ฐ๋ฅ - Research - Blend2D - Bรฉzier ๊ณก์ ์คํ์ ๊ด๋ จ ์ฐ๊ตฌ ๋ ผ๋ฌธ๊ณผ ๋ฐํ ์๋ฃ๋ฅผ ๋ชจ์ ๊ณต์ ๋ฆฌ์์น ํ์ด์ง
- Blend2D: High-Performance 2D Vector Graphics (Helsinki 2023) - Blend2D ์ค๊ณ์ ์ฑ๋ฅ์ ๋ค๋ฃฌ ์ ์ ๋ฐํ ์๋ฃ PDF
- API Reference - Blend2D - Geometries, Imaging, Styling, Text, Rendering ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ C/C++ API ๋ ํผ๋ฐ์ค
-
Getting Started - Blend2D -
BLContext๋ ๋๋ง ์ปจํ ์คํธ๋ก ๊ฒฝ๋ก, ๊ทธ๋ผ๋์ธํธ, ํจํด, ํ ์คํธ๋ฅผ ๊ทธ๋ฆฌ๋ ์ ๋ฌธ ๊ฐ์ด๋ - Multithreaded Rendering - Blend2D - ์์ ์ ๋ฐฐ์น๋ก ์ง๋ ฌํํด ์์ปค ์ค๋ ๋๊ฐ ์ฒ๋ฆฌํ๋ ๋น๋๊ธฐ ๋ฉํฐ์ค๋ ๋ ๋ ๋๋ง ์ค๊ณ ๋ฌธ์
- Build Instructions - Blend2D - CMake ๋น๋ ๋ฐฉ๋ฒ๊ณผ ์ง์ ํ๋ซํผ(X86, AArch64), AsmJit ์์กด์ฑ ์ค์
- Download - Blend2D - AsmJit ์์กด์ฑ์ ํฌํจํ ์์ค ํจํค์ง ๋ค์ด๋ก๋(SHA256 ์ ๊ณต)
- GitHub: blend2d/blend2d - Blend2D ์์ง ๊ณต์ ์ ์ฅ์. ์ ์ผํ ์์กด์ฑ์ AsmJit
-
GitHub: blend2d/blend2d-apps - ์ธํฐ๋ํฐ๋ธ ๋ฐ๋ชจ(
bl_demos)์ ๋ฒค์น๋งํน ๋๊ตฌ(bl_bench) ์ ์ฅ์. 2025๋ 10์ ์์นด์ด๋ธ๋จ - AsmJit - ์ ์ง์ฐ ๋ฐํ์ ๋จธ์ ์ฝ๋ ์์ฑ C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Blend2D์ JIT ํ์ดํ๋ผ์ธ ์์ฑ์ ์ฌ์ฉ
- GitHub: asmjit/asmjit - X86/X86_64/AArch64์ฉ ๋ฐํ์ ๋จธ์ ์ฝ๋ ์์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์ ์ ์ฅ์
- Petr Kobalicek - Blend2D์ AsmJit ์ฐฝ์์์ ๊ฐ์ธ ํํ์ด์ง
- Blend2D: Working Towards A New Software-Based 2D Renderer - Phoronix - JIT ํ์ดํ๋ผ์ธ ๊ธฐ๋ฐ ์ํํธ์จ์ด 2D ๋ ๋๋ฌ ๊ฐ๋ฐ์ ๋ค๋ฃฌ ๊ธฐ์ฌ
- Cairo Graphics - X11, Quartz, Win32, ์ด๋ฏธ์ง, PDF, PS, SVG ๋ฐฑ์๋๋ฅผ ์ง์ํ๋ 2D ๋ฒกํฐ ๊ทธ๋ํฝ C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์ ํํ์ด์ง
- cairo/cairo ยท Freedesktop GitLab - freedesktop.org GitLab์ Cairo ๊ณต์ ์์ค ์ ์ฅ์
- Cairo API Reference Manual - ๋๋ก์, ๊ฒฝ๋ก, ํจํด, ๋ณํ, ํ ์คํธ, ์ํผ์ค๋ฅผ ๋ค๋ฃจ๋ C API ๊ณต์ ๋ ํผ๋ฐ์ค
- Cairo Documentation - FAQ, ํํ ๋ฆฌ์ผ, ๋งค๋ด์ผ, ์ฟก๋ถ, ์ํ๋ก ์ฐ๊ฒฐ๋๋ ๊ณต์ ๋ฌธ์ ์์ธ
- Cairo Tutorial - destinationยทsourceยทmaskยทpathยทcontext ๋ฑ Cairo ๋๋ก์ ๋ชจ๋ธ์ ์ค๋ช ํ๋ ๊ณต์ ์ ๋ฌธ ํํ ๋ฆฌ์ผ
- Cairo FAQ - ์ ๋ฌธ, ๋๋ก์, ์ฑ๋ฅ์ ๋ค๋ฃจ๋ ๊ณต์ FAQ
- Cairo Examples - ์ฝ๋ ์ค๋ํซ๊ณผ ๊ธฐ์ฌ ์์ ์ ์ฅ์๋ก ์ฐ๊ฒฐ๋๋ ์์ ํ์ด์ง
- Cairo Download - ์์ค ๋ฆด๋ฆฌ์ค ๋ฐ pixman ๋ฑ ์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋
- Cairo Bindings - Python, C++, Ruby ๋ฑ ์ฌ๋ฌ ์ธ์ด์ฉ ๋ฐ์ธ๋ฉ ๋ชฉ๋ก
- cairomm - Cairo์ C++ ๋ํผ ๋ฐ์ธ๋ฉ
- cairo Image Surfaces - ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ๋ก ๋ ๋๋งํ๋ ์ด๋ฏธ์ง ์ํผ์ค ๋ฐฑ์๋ API ๋ฌธ์
- cairo PDF Surfaces - PDF ํ์ผ๋ก ์ถ๋ ฅํ๋ ๋ค์ค ํ์ด์ง PDF ์ํผ์ค ๋ฐฑ์๋ API ๋ฌธ์
- Cairo (graphics) - Wikipedia - Cairo ๊ฐ์์ ์ฌ์ฉ์ฒ(GTK, Firefox, WebKit, Mono, Poppler, Inkscape ๋ฑ) ์ ๋ฆฌ
- Pango - ๊ตญ์ ํ ์ค์ฌ ํ ์คํธ ๋ ์ด์์ยท๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. PangoCairo ๋ชจ๋๋ก Cairo์ ํตํฉ
- PangoCairo - Rendering with Cairo - Pango ํ ์คํธ ๋ ์ด์์์ Cairo ์ํผ์ค์ ๋ ๋๋งํ๋ ๊ณต์ API ๋ฌธ์
- GTK Architecture - Pango - Pango+Cairo๊ฐ GTK์ ํ ์คํธยท๊ทธ๋ํฝ ๋ ๋๋ง ํต์ฌ์์ ์ค๋ช ํ๋ ์ํคํ ์ฒ ๋ฌธ์
- librsvg - Text layout - SVG ํ ์คํธ๋ฅผ Pango๋ก ๋ ์ด์์ํ๊ณ Cairo๋ก ๋ ๋๋งํ๋ ๋ฐฉ์ ์ค๋ช
- Rive - ๋์์ธยท์ ๋๋ฉ์ด์ ยท์ธํฐ๋์ ์ ํ ๊ณณ์์ ๋ง๋๋ ๊ณต์ ํํ์ด์ง. Spotify, Duolingo, Google ๋ฑ์์ ์ฌ์ฉ๋จ
- Rive Renderer - GPU ๊ฐ์ ๋ฒกํฐ ๋ ๋๋ฌ ๊ณต์ ์๊ฐ. 120fps, ํด์์ ์ํฐ์์ผ๋ฆฌ์ด์ฑ, ์คํ์์ค
- GitHub: rive-app - ๋ฐํ์๊ณผ ๋ ๋๋ฌ ์ ์ฅ์๊ฐ ๋ชจ์ฌ ์๋ ๊ณต์ GitHub ์กฐ์ง
-
GitHub: rive-app/rive-runtime - ์ ์์ค C++ ๋ฐํ์ ๋ฐ ๋ ๋๋ฌ.
.riv๋ก๋, ์คํ ์ดํธ ๋จธ์ ๊ตฌ๋, Metal/Vulkan/D3D11ยท12/OpenGLยทWebGL ๋ฐฑ์๋ (MIT) - GitHub: rive-app/rive-renderer - 2024๋ ์คํ์์ค๋ก ๊ณต๊ฐ๋ Rive Renderer ์ ์ฅ์. ํ์ฌ rive-runtime์ผ๋ก ๋ฆฌ๋ค์ด๋ ํธ๋จ
-
GitHub: rive-app/rive-cpp-legacy - Skia ๋ ๋๋ฌ๋ฅผ ์ฐ๋ ๊ตฌ
rive-cppC++ ๋ฐํ์์ ๋ ๊ฑฐ์ ์ ์ฅ์ - Rive Renderer - now open source and available on all platforms - 2024๋ 3์ ๋ ๋๋ฌ ์คํ์์ค ๊ณต๊ฐ ๋ฐํ. GPU ์ผ๊ฐํ ๋์คํฐํ๋ก ๋ฒกํฐ ๊ฒฝ๋ก๋ฅผ ๋ ๋๋ง
- Reinventing feathering for the Vectorian era - Clockwise ํ ๊ท์น๊ณผ ์ผ๊ฐํ ์ปค๋ฒ๋ฆฌ์ง ์ํฐ์์ผ๋ฆฌ์ด์ฑ์ ๋ค๋ฃฌ ๋ ๋๋ฌ ์ฌ์ธต ํด์ค (2025.04)
- Introducing Vector Feathering - ์ฑ๋ฅ ์ ํ ์์ด ๋ฒกํฐ ๊ฒฝ๊ณ๋ฅผ ๋ถ๋๋ฝ๊ฒ ์ฒ๋ฆฌํ๋ Vector Feathering ๊ธฐ๋ฒ ์๊ฐ (2025.02)
- Rive Renderer - open source and perfect for WebGL (Khronos) - Khronos๊ฐ ํธ์คํ ํ Rive Renderer์ WebGL ๋ ๋๋ง ๊ธฐ์ ๋ฐํ ์๋ฃ
- .riv File Format - ๋ฆฌํ์๋์ธ ํค๋, RIVE ํ๊ฑฐํ๋ฆฐํธ, ToC, ๋ฉ์ด์ ๋ฒ์ ํธํ์ฑ์ ์ ์ํ ๋ฐ์ด๋๋ฆฌ ํฌ๋งท ๋ฌธ์
- Getting Started with the Rive Runtimes - Web/Apple/Android/Flutter/React Native/Unity/Unreal์ ์ง์ํ๋ ๋ฐํ์ ์์ ๋ฌธ์ (MIT)
- GitHub: rive-app/awesome-rive - ๋ฐํ์ ์์ ยท๋ฌธ์ยทํํ ๋ฆฌ์ผยท๋ฆฌ์์ค๋ฅผ ํ๋ ์ด์ ํ ๊ณต์ awesome ๋ฆฌ์คํธ
-
GitHub: rive-app/rive-wasm - ๋ธ๋ผ์ฐ์ ์์
.riv๋ฅผ ์ฌ์ยท์ ์ดํ๋ ์น์ฉ WebAssembly/JS ๋ฐํ์ - GitHub: rive-app/rive-react - JS/Wasm ๋ฐํ์ ์์ ์ปดํฌ๋ํธยทํ ์ ์ ๊ณตํ๋ ๊ณต์ React ๋ฐํ์
- GitHub: rive-app/rive-ios - C++ ์ฝ์ด๋ฅผ ๋ํํ ๊ณต์ iOS/macOS ๋ฐํ์. UIKitยทAppKitยทSwiftUI ์ง์
- GitHub: rive-app/rive-android - KotlinยทC++๋ก ์์ฑ๋ ๊ณต์ Android ๋ฐํ์
- GitHub: rive-app/rive-flutter - iOS/Android/macOS/Windows/Linux/Web์ ์ง์ํ๋ ๊ณต์ Flutter/Dart ๋ฐํ์
- GitHub: rive-app/rive-unity - ์ต์ C++ ์ฝ์ด์ Rive Renderer๋ฅผ ํตํฉํ ๊ณต์ Unity ๋ฐํ์
- GitHub: rive-app/rive-rs - Vello ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ณต์ Rust ๋ฐํ์
- Linebender - Rust ์ค์ฌ์ 2D ๊ทธ๋ํฝ์คยทUI ์คํ์์ค ์ปค๋ฎค๋ํฐ ํํ์ด์ง. Vello, Kurbo, Parley, Xilem ๋ฑ ์ํ๊ณ ํ๋ก์ ํธ์ ํ๋ธ
-
GitHub: linebender/vello - GPU ์ปดํจํธ ์ค์ฌ 2D ๋ ๋๋ฌ (๊ตฌ piet-gpu). wgpu ์์์ ํ๋ฆฌํฝ์ค ์ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์์ฐจ ์์
์ ์ปดํจํธ ์
ฐ์ด๋๋ก ๋ณ๋ ฌํ. ์ ์ฅ์ ๋ด
sparse_strips์ํฌ์คํ์ด์ค์์ ์ฐจ์ธ๋ vello_cpu(CPU ์ ์ฉ)ยทvello_hybrid(CPU/GPU ํ์ด๋ธ๋ฆฌ๋)๋ ๊ฐ๋ฐ ์ค - GitHub: linebender/kurbo - 2D ๊ณก์ ยท๋ฒกํฐ ๊ฒฝ๋ก ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๋ฒ ์ง์ด ๊ณก์ ์ฐ์ฐ์ ์ ํ๋์ ์ฑ๋ฅ์ ์ด์
- GitHub: linebender/peniko - ๋ ๋๋งยทํฉ์ฑ ์คํ์ผ์ ์ ์ํ๋ 2D ๊ทธ๋ํฝ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. kurbo ์์์ ๋ธ๋ฌ์ยท๊ทธ๋ผ๋์ธํธ ๋ฑ ๋น๊ธฐํ ํ๋ฆฌ๋ฏธํฐ๋ธ ์ ๊ณต
- GitHub: linebender/parley - ๋ฆฌ์น ํ ์คํธ ๋ ์ด์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Fontique(ํฐํธ ํด๋ฐฑ), HarfRust(์ ฐ์ดํ), Skrifa(ํฐํธ ์ฝ๊ธฐ), ICU4X(ํ ์คํธ ๋ถ์) ์คํ ์์ ๊ตฌ์ถ
- GitHub: linebender/xilem - ReactยทSwiftUIยทElm์์ ์๊ฐ์ ๋ฐ์ ์คํ์ ๋ฐ์ํ Rust UI ์ํคํ ์ฒ. Vello์ wgpu๋ก ๋ ๋๋ง
- GitHub: linebender/vello_svg - usvg ํ์ฑ ๊ธฐ๋ฐ์ผ๋ก SVG๋ฅผ Vello ์ฌ์ผ๋ก ๋ ๋๋งํ๋ ํตํฉ ํฌ๋ ์ดํธ
- GitHub: linebender/velato - Lottie ์ ๋๋ฉ์ด์ ํ์ฑยท๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Vello ์ฐ๋์ ๊ธฐ๋ณธ ์ ๊ณต
- LunaSVG - C++ ๊ฒฝ๋ SVG ๋ ๋๋ง/์กฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. PlutoVG๋ฅผ ๋ ๋๋ง ์์ง์ผ๋ก ์ฌ์ฉ, SVG 1.1 ๋ฐ Tiny 1.2 ์ง์
- PlutoVG - C๋ก ์์ฑ๋ ๋ ๋ฆฝํ 2D ๋ฒกํฐ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. LunaSVG์ ๋ ๋๋ง ์์ง
- PlutoSVG - C๋ก ์์ฑ๋ ์ํ SVG ๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. OpenType ๋ด์ฅ SVG์ ์์ด์ฝ ๋ ๋๋ง์ ํนํ
- NanoVG - OpenGL ๊ธฐ๋ฐ ์ํฐ์์ผ๋ฆฌ์ด์ฑ 2D ๋ฒกํฐ ๋๋ก์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. HTML5 Canvas ์ ์ฌ API
- NanoSVG - ๋จ์ผ ํค๋ ํ์ผ์ ์ด๊ฒฝ๋ C SVG ํ์. ํ๋น ๋ฒ ์ง์ด ๊ฒฝ๋ก ์ถ๋ ฅ, ๊ฐ๋จํ ์ํํธ์จ์ด ๋์คํฐ๋ผ์ด์ ํฌํจ
- Anti-Grain Geometry (AGG) - ์๋ธํฝ์ ์ ํ๋์ ์ํฐ์์ผ๋ฆฌ์ด์ฑ์ ๊ตฌํํ ๊ณ ํ์ง C++ ์ํํธ์จ์ด 2D ๋์คํฐ๋ผ์ด์
- Qt 2D Graphics (QPainter / Qt Quick Shapes) - QPainter๋ CPU ๋์คํฐ๋ผ์ด์ , Qt Quick Shapes๋ GPU ๊ฐ์ ๊ณก์ ๋ ๋๋ง
- Spinel (Google Fuchsia) - Vulkan 1.2+ ํ์ผ ๊ธฐ๋ฐ์ผ๋ก ์ ํ์ดํ๋ผ์ธ์ ๋ณ๋ ฌํํ GPU ์ปดํจํธ ๋ฒกํฐ ๊ทธ๋ํฝ ํ์ดํ๋ผ์ธ
- Ladybird - ์น ํ์ค ๊ธฐ๋ฐ ๋ ๋ฆฝ ๋ธ๋ผ์ฐ์ . ์์ฒด 2D ๊ทธ๋ํฝ/๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ LibGfx ์ฌ์ฉ
- Apache Batik SVG Toolkit - SVG ํ์/์์ฑ/์กฐ์๊ณผ ๋์คํฐํ(JPEG/PNG/TIFF ๋ณํ)๊น์ง ์ง์ํ๋ Java ํดํท
- resvg - Rust๋ก ์์ฑ๋ SVG ๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. tiny-skia ๊ธฐ๋ฐ CPU ๋ ๋๋ง, ์ ์ฒด SVG ์ฌ์ ์ง์ ๋ชฉํ. 2024๋ 10์๋ถํฐ Linebender ์ฐํ์์ ์ ์ง ๊ด๋ฆฌ
- tiny-skia - Skia ์ผ๋ถ๋ฅผ Rust๋ก ์ด์ํ CPU ์ํํธ์จ์ด ๋์คํฐ๋ผ์ด์ . resvg์ ๋ ๋๋ง ๋ฐฑ์๋
- Forma - Google์ ์คํ์ Rust ๋ฒกํฐ ๋ ๋๋ฌ. CPU(SIMD+Rayon)์ GPU(wgpu) ๋ฐฑ์๋ ์ง์ (2024๋ ์์นด์ด๋ธ)
- piet - Direct2D/Core Graphics/Cairo ๋ค์ดํฐ๋ธ ๋ฐฑ์๋ ์์์ ๋์ํ๋ Rust 2D ๊ทธ๋ํฝ ์ถ์ํ ๋ ์ด์ด
- Pathfinder - ์ปค๋ฒ๋ฆฌ์ง ๊ธฐ๋ฐ ์ํฐ์์ผ๋ฆฌ์ด์ฑ์ ์ฌ์ฉํ๋ Rust GPU ํฐํธ/๋ฒกํฐ ๊ทธ๋ํฝ ๋์คํฐ๋ผ์ด์ (Servo)
- WebRender - ๋์คํฐํ๋ฅผ GPU๋ก ์คํ๋ก๋ํ๋ Rust 2D ๋ ๋๋ง ์์ง. Firefox์ Servo๊ฐ ์ฌ์ฉ
- femtovg - NanoVG๋ฅผ ํฌํ ํ Rust GPU ๊ฐ์ ์ํฐ์์ผ๋ฆฌ์ด์ฑ 2D ๋ฒกํฐ ๋๋ก์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. OpenGL ES 3.0+ ๋ฐ wgpu ๋ฐฑ์๋
- raqote - ์์ Rust๋ก ์์ฑ๋ ์๊ณ ๋น ๋ฅธ ์ํํธ์จ์ด 2D ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- librsvg - GNOME์ SVG ๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. C์์ Rust๋ก ์ด์๋์์ผ๋ฉฐ Cairo ์ํผ์ค์ ๋ ๋๋ง
- Flutter Impeller - ์ ฐ์ด๋๋ฅผ ๋น๋ ์์ ์ ์ฌ์ ์ปดํ์ผํด ๋ฐํ์ ์ ฐ์ด๋ ์ปดํ์ผ ์ญ์ ์ ๊ฑฐํ Flutter ๋ ๋๋ง ์์ง. Metal/Vulkan ๊ธฐ๋ฐ
- Gio (gioui) - Go์ฉ ํฌ๋ก์คํ๋ซํผ ์ฆ์ ๋ชจ๋ GUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Pathfinder ๊ธฐ๋ฐ GPU ๋ฒกํฐ ๋ ๋๋ฌ ๋ด์ฅ
- tdewolff/canvas - SVG/PDF/EPS/๋์คํฐ ์ถ๋ ฅ๊ณผ HarfBuzz ํ ์คํธ ์ ฐ์ดํ์ ์ง์ํ๋ Go ๋ฒกํฐ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- fogleman/gg - ์์ Go๋ก ๋ํ, ํ ์คํธ, ๊ทธ๋ผ๋์ธํธ, ๋ณํ์ ๋ ๋๋งํ๋ 2D ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- srwiley/oksvg - SVG 2.0 ์ฌ์์ ๋ถ๋ถ ๊ตฌํํ Go ๋์คํฐ๋ผ์ด์ . rasterx ํจํค์ง ๊ธฐ๋ฐ
- PixiJS - WebGPU/WebGL ๊ธฐ๋ฐ ๊ณ ์ HTML5 2D ๋ ๋๋ง ์์ง (TypeScript)
- Paper.js - HTML5 Canvas ๊ธฐ๋ฐ ๋ฒกํฐ ๊ทธ๋ํฝ ์คํฌ๋ฆฝํ ํ๋ ์์ํฌ. Scriptographer์ JavaScript ํฌํ
- Fabric.js - HTML5 Canvas์ฉ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด์ SVG-Canvas ์๋ฐฉํฅ ๋ณํ ํ์
- Konva - ๋ฐ์คํฌํฑ/๋ชจ๋ฐ์ผ์ฉ ์ธํฐ๋ํฐ๋ธ HTML5 Canvas 2D JavaScript ํ๋ ์์ํฌ
- Rough.js - ์์ผ๋ก ๊ทธ๋ฆฐ ๋ฏํ ์ค์ผ์น ์คํ์ผ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Canvas์ SVG ๋ชจ๋ ์ง์
- Two.js - ๋ ๋๋ฌ ๋ถ๊ฐ์ง๋ก ์ค๊ณ์ 2D ๋๋ก์ API. ๋์ผ API๋ก SVGยทCanvas2DยทWebGL์ ๋ ๋๋ง
- SVG.js - ์์กด์ฑ ์๋ ๊ฒฝ๋ SVG ์กฐ์ยท์ ๋๋ฉ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- Asymptote - LaTeX ๋ผ๋ฒจ ์กฐํ์ ์ง์ํ๋ ์ํ/๊ธฐ์ ๋๋ฉด์ฉ ์์ ํ ๋ฒกํฐ ๊ทธ๋ํฝ ์ธ์ด
- egui - ์ฆ์ ๋ชจ๋ Rust GUI. ์์ฒด 2D ๊ทธ๋ํฝ API์ธ epaint๋ก ๋ํ์ ์ผ๊ฐํ ๋ฉ์๋ก ํ ์ ๋ ์ด์ ํด ๋ ๋๋ง
-
iced - Elm ์ํคํ
์ฒ ๊ธฐ๋ฐ ํฌ๋ก์คํ๋ซํผ Rust GUI.
iced_wgpu(VulkanยทMetalยทDX12)์ ์ํํธ์จ์ด ํด๋ฐฑiced_tiny_skia๋ ๋๋ฌ ๋ด์ฅ - GPUI - Zed ์๋ํฐ์ ํ์ด๋ธ๋ฆฌ๋ ์ฆ์/์ ์ง ๋ชจ๋ GPU ๊ฐ์ Rust UI ํ๋ ์์ํฌ. ์ฌ๊ฐํยท๋ฅ๊ทผ ๋ชจ์๋ฆฌยท๊ทธ๋ฆผ์๋ฅผ SDF ์ ฐ์ด๋๋ก ๊ทธ๋ฆผ (๋ ๋๋ง ํด์ค ๋ธ๋ก๊ทธ)
- Makepad - ๋ค์ดํฐ๋ธยท์น์ ๊ฒจ๋ฅํ Rust UI ๋ฐํ์. GPU ๊ฐ์ 2D/3D ๋ ๋๋ง๊ณผ ๋ผ์ด๋ธ ํธ์ง ๊ฐ๋ฅํ ๋์์ธ DSL ์ ๊ณต
- FreeType - TrueType/Type1/OpenType ๋ฑ ๋ฒกํฐยท๋นํธ๋งต ํฐํธ๋ฅผ ๋ ๋๋งํ๋ ์คํ์์ค ํฐํธ ๋์คํฐ๋ผ์ด์
- Pixman - ์ ์์ค ํฝ์ ์กฐ์ ๋ฐ ๋์คํฐ๋ผ์ด์ ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Cairo์ X ์๋ฒ๊ฐ ์ฌ์ฉ
- HarfBuzz - ์ ๋์ฝ๋ ํ ์คํธ๋ฅผ ๊ธ๋ฆฌํ๋ก ๋ฐฐ์นํ๋ ์คํํ์ ํ ์คํธ ์ ฐ์ดํ ์์ง. Firefox/Chromium/LibreOffice ๋ฑ์์ ์ฌ์ฉ
- msdfgen - ๋ค์ค ์ฑ๋ ์๋ช ๊ฑฐ๋ฆฌ ํ๋(MSDF) ์์ฑ๊ธฐ. GPU์์ ์ ๋ช ํ ๋ฒกํฐ/ํ ์คํธ ๋ ๋๋ง์ ์ฌ์ฉ
- CGAL - ๊ณ์ฐ๊ธฐํ ์๊ณ ๋ฆฌ์ฆ์ ํ์ค C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (5.0๋ถํฐ ํค๋ ์จ๋ฆฌ). ์ ํ(exact) ์ฐ์ฐ ๊ธฐ๋ฐ
- CGAL 2D Arrangements - ์ ๋ถยท์๋ฟ๊ณก์ ์ ๋ฌผ๋ก ์์ ์ฐจ์(์๊ธฐ๊ต์ฐจ ํฌํจ) ๋ฒ ์ง์ด ๊ณก์ ์ด ๋ง๋๋ ํ๋ฉด ๋ถํ ์ ๋ค๋ฃจ๋ ํจํค์ง
- CGAL 2D Regularized Boolean Set-Operations - ์ํธยท๋ฒ ์ง์ด ๊ณก์ ์ผ๋ก ๋๋ฌ์ธ์ธ ์ผ๋ฐ ๋ค๊ฐํ๊น์ง ์ง์ํ๋ ํฉ์งํฉยท๊ต์งํฉยท์ฐจ์งํฉ ์ฐ์ฐ
- CGAL 2D Polygons - ๋ค๊ฐํ(๊ตฌ๋ฉ ํฌํจ) ์๋ฃ๊ตฌ์กฐ์ ๋ฉด์ ยท๋จ์์ฑยท๋ณผ๋ก์ฑยท์ ํฌํจ ํ์ ์๊ณ ๋ฆฌ์ฆ
- Clipper2 - ๋ค๊ฐํ ํด๋ฆฌํ(๊ต์งํฉยทํฉ์งํฉยท์ฐจ์งํฉยทXOR)๊ณผ ์คํ์ ์ ์ฌ์ค์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ. C++/C#/Delphi ๊ตฌํ๊ณผ ๋ค์ ์ธ์ด ํฌํธ
- earcut - ๋ค๊ฐํ์ ์ผ๊ฐํ์ผ๋ก ๋ถํ ํ๋ ์ด๊ณ ์ JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Mapbox GLยทthree.js ๋ฑ ๋ฒกํฐ ํ์ผ/GPU ํ์ดํ๋ผ์ธ์์ ์ฌ์ฉ (earcut.hpp C++ ํฌํธ ๊ณต์ ์ ๊ณต)
- libtess2 - GLU ๋ ํผ๋ฐ์ค ํ ์ ๋ ์ดํฐ๋ฅผ ๋ฆฌํฉํฐ๋งํ C ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์๊ธฐ๊ต์ฐจยท๊ตฌ๋ฉ ํฌํจ ์์ ๋ค๊ฐํ์ ์ผ๊ฐ๋ถํ
- lyon - SVG ํธํ ๊ฒฝ๋ก๋ฅผ GPU์ฉ ์ ์ /์ธ๋ฑ์ค ๋ฒํผ๋ก ํ ์ ๋ ์ด์ ํ๋ Rust ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- cavalier_contours - ์ํธ ์ธ๊ทธ๋จผํธ(bulge)๋ฅผ ํฌํจํ ํด๋ฆฌ๋ผ์ธ์ ํํ ์คํ์ ๊ณผ ๋ถ๋ฆฌ์ธ ์ฐ์ฐ์ ์ง์ํ๋ Rust ๋ผ์ด๋ธ๋ฌ๋ฆฌ. CAD ์คํ์ผ 2D ์ฐ์ฐ์ ํนํ
- poly2tri - ์ ์ฝ ๋ค๋ก๋ค ์ผ๊ฐ๋ถํ (CDT) C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๊ตฌ๋ฉยท์คํ์ด๋ ์ ์ด ์๋ ๋จ์ ๋ค๊ฐํ์ ์ผ๊ฐ๋ถํ
๊ฐ ํญ๋ชฉ์๋ ํ์ธ๋ ๋ฒ์ ๋ด์์ ์ด๋ค ์ฝ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋ ๋๋ฌ)๋ฅผ ์ฌ์ฉํ๋์ง ํจ๊ป ํ๊ธฐํฉ๋๋ค.
- DiffVG - SIGGRAPH Asia 2020. ํฝ์ ๊ณต๊ฐ์์ ๋ฒกํฐ ํ๋ผ๋ฏธํฐ(์ ์ด์ ยท์ ํญยทํฌ๋ช ๋)๋ก ๊ทธ๋๋์ธํธ๋ฅผ ์ญ์ ํํ๋ ๋ฏธ๋ถ๊ฐ๋ฅ ๋ฒกํฐ ๊ทธ๋ํฝ ๋์คํฐ๋ผ์ด์ . ์ดํ ๋๋ถ๋ถ์ SVG ์์ฑ ์ฐ๊ตฌ์ ๊ธฐ๋ฐ (๋ ผ๋ฌธ)
- PyTorch-SVGRender - DiffVGยทCLIPassoยทVectorFusionยทSVGDreamer ๋ฑ ๋ค์ ๊ธฐ๋ฒ์ ํ๊ณณ์์ ์ฌํํ๋ ๋ฏธ๋ถ๊ฐ๋ฅ SVG ๋ ๋๋ง ํตํฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- SVG-VAE: A Learned Representation for Scalable Vector Graphics - ํฐํธ๋ฅผ ์์ฐจ ์์ฑ ๋ชจ๋ธ๋ก ํ์ตํ๋ ๋ฒกํฐ ๊ทธ๋ํฝ ์์ฑ ์ฐ๊ตฌ์ ๊ธฐ์ด ๋ ผ๋ฌธ (Google, 2019)
- DeepSVG - NeurIPS 2020. Transformer ๊ธฐ๋ฐ ๊ณ์ธต์ ์์ฑ ๋คํธ์ํฌ๋ก SVG ์์ด์ฝ์ ์์ฑยท๋ณด๊ฐยท์ ๋๋ฉ์ด์ . SVG-Icons8 ๋ฐ์ดํฐ์ ํฌํจ. ์ฝ์ด: SVG ์ปค๋งจ๋ ์ํ์ค ์์ฑ(๋ ๋๋ง์ cairosvg) (๋ ผ๋ฌธ)
- Im2Vec - CVPR 2021 Oral. ๋ฒกํฐ ์ ๋ต ์์ด ๋์คํฐ ์ด๋ฏธ์ง๋ง์ผ๋ก ๋ณต์กํ ์์์ ๋ฒกํฐ ๊ทธ๋ํฝ์ ์์ฑํ๋ ๋ฏธ๋ถ๊ฐ๋ฅ ํ์ดํ๋ผ์ธ. ์ฝ์ด: DiffVG
- CLIPDraw - 2021. ํ์ต ์์ด ์ฌ์ ํ์ต CLIP๋ง์ผ๋ก ํ ์คํธ์์ ๋ฒกํฐ ์คํธ๋กํฌ ๋๋ก์์ ํฉ์ฑํ ์ด๊ธฐ ๋ํ ์ฐ๊ตฌ
- StyleCLIPDraw - IJCAI 2022. CLIPDraw์ ์คํ์ผ ์์ค์ ๋ํด ์ฝํ ์ธ ์ ํํ์ ํจ๊ป ์ ์ด. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- VectorFusion - CVPR 2023. ์บก์ ๋ SVG ๋ฐ์ดํฐ ์์ด ์ฌ์ ํ์ต ํ ์คํธ-์ด๋ฏธ์ง ํ์ฐ๋ชจ๋ธ์ SDS๋ก ์ฆ๋ฅํด ํ ์คํธโSVG ์์ฑ
- DiffSketcher - NeurIPS 2023. ์ ์ฌํ์ฐ๋ชจ๋ธ์ prior๋ก ๋ฒ ์ง์ด ๊ณก์ ์ SDS๋ก ์ต์ ํํ๋ ํ ์คํธโ๋ฒกํฐ ์ค์ผ์น ํฉ์ฑ. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- IconShop - SIGGRAPH Asia 2023. SVG ๊ฒฝ๋ก๋ฅผ ํ ํฐํํด ์คํ ๋ฆฌ๊ทธ๋ ์๋ธ ํธ๋์คํฌ๋จธ๋ก ํ ์คํธ ๊ฐ์ด๋ ๋ฒกํฐ ์์ด์ฝ ํฉ์ฑ. ์ฝ์ด: ํ ํฐ ์์ฑ(๋ ๋๋ง์ cairosvg) (๋ ผ๋ฌธ)
- SVGDreamer - CVPR 2024. VPSD(๋ฒกํฐ ์ ์ ๊ธฐ๋ฐ score distillation)์ SIVE๋ก ๋ค์์ฑยทํ์ง์ ๋์ธ ํ ์คํธโ๋ฒกํฐ ์์ฑ. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- SVGDreamer++ (SVGDreamerV2) - T-PAMI 2025. ๊ณ์ธต์ ์ด๋ฏธ์ง ๋ฒกํฐํ(HIVE)๋ก ๊ฐ์ฒดยท์ปดํฌ๋ํธ ๋จ์ ํธ์ง์ฑ๊ณผ ๋ค์์ฑ์ ๊ฐํ. ์ฝ๋ ๋ฏธ๊ณต๊ฐ (๋ ผ๋ฌธ)
- Text2SVG (Neural Path Representation) - SIGGRAPH 2024. ์ด์ค๋ถ๊ธฐ VAE๋ก ์ ๊ฒฝ ๊ฒฝ๋ก ํํ์ ํ์ตํ๊ณ ํ์ฐ๋ชจ๋ธ ๊ฐ์ด๋(VSD)๋ก ์์ยท์๊ฐ ํ์ง์ ๋์. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- SVGCraft - WACV 2026. LLM ๋ ์ด์์ ์์ฑ์ผ๋ก ๋จ์ผ ๊ฐ์ฒด๋ฅผ ๋์ด ๋ค์ค ์์ ์ฅ๋ฉด ์ ์ฒด๋ฅผ ํ ์คํธโSVG๋ก ํฉ์ฑ. ์ฝ์ด: LLM ๋ ์ด์์ + DiffVG ์ต์ ํ (๋ ผ๋ฌธ)
- VectorPainter - ICME 2025. ์ฐธ์กฐ ์ด๋ฏธ์ง์ ์คํธ๋กํฌ ์คํ์ผ์ ๋ชจ๋ฐฉ ํ์ต์ผ๋ก ๋ฒกํฐํํด ์คํ์ผํ๋ ๋ฒกํฐ ๊ทธ๋ํฝ ํฉ์ฑ. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- SVGFusion - 2024. VP-VAE์ ๋ฒกํฐ๊ณต๊ฐ ํ์ฐ ํธ๋์คํฌ๋จธ(VS-DiT)๋ก SDS ์์ด ์ค์ SVG ๋ฐ์ดํฐ์ ํ์ฅ ๊ฐ๋ฅํ ํ ์คํธโSVG. ์ฝ๋ ๋ฏธ๊ณต๊ฐ (๋ ผ๋ฌธ)
- LLM4SVG - CVPR 2025. ํ์ต๊ฐ๋ฅํ ์๋งจํฑ ํ ํฐ์ผ๋ก LLM์ด SVG๋ฅผ ์ดํดยท์์ฑํ๋๋ก ํจ. SVGX-Core-250k ๋ฑ ๋๊ท๋ชจ ๋ฐ์ดํฐ ๊ณต๊ฐ. ์ฝ์ด: ์์(LLM ํ ํฐ ์์ฑ, ๋์คํฐํ๋ cairosvg) (๋ ผ๋ฌธ)
- StarVector - CVPR 2025. ๋ฒกํฐํ๋ฅผ ์ฝ๋ ์์ฑ์ผ๋ก ๋ณด๋ ๋น์ -์ธ์ด ํ์ด๋ฐ์ด์ ๋ชจ๋ธ. SVG-Stack(2M)ยทSVG-Bench ๊ณต๊ฐ. ์ฝ์ด: ์์(SVG ์ฝ๋ ์ง์ ์์ฑ, ํ๊ฐ์ฉ cairosvg) (๋ ผ๋ฌธ)
- Chat2SVG - CVPR 2025. LLM์ผ๋ก ์๋งจํฑ SVG ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ ์ด๋ฏธ์ง ํ์ฐ๋ชจ๋ธ๋ก ๊ฒฝ๋ก๋ฅผ ์ ์ ํ๋ ํ์ด๋ธ๋ฆฌ๋ ํ๋ ์์ํฌ. ์ฝ์ด: LLM + DiffVG(๊ฒฝ๋ก ์ต์ ํ)
- NeuralSVG - ICCV 2025. NeRF์์ ์๊ฐ๋ฐ์ ์ฅ๋ฉด ์ ์ฒด๋ฅผ ์์ MLP ๊ฐ์ค์น์ ์ธ์ฝ๋ฉํ๊ณ SDS๋ก ์ต์ ํํ๋ ํ ์คํธโ๋ฒกํฐ ์์์ ํํ. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- OmniSVG - NeurIPS 2025. ์ฌ์ ํ์ต VLM ๊ธฐ๋ฐ ์ต์ด์ ์ข ๋จ๊ฐ ๋ฉํฐ๋ชจ๋ฌ SVG ์์ฑ ๋ชจ๋ธ. MMSVG-2M ๋ฐ์ดํฐ์ ๊ณต๊ฐ. ์ฝ์ด: ์์(SVG ํ ํฐ ์ง์ ์์ฑ, PNG ์ ์ฅ์ฉ cairosvg) (๋ ผ๋ฌธ)
- CustomSVG (Style Customization of Text-to-Vector Generation) - SIGGRAPH 2025. ์ด๋ฏธ์ง ํ์ฐ ํ๋ผ์ด์ด๋ก ํ ์คํธโ๋ฒกํฐ ์์ฑ์ ์คํ์ผ์ ์ปค์คํฐ๋ง์ด์ฆํ๋ 2๋จ๊ณ ํ์ดํ๋ผ์ธ. ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- LayerTracer - 2025. ๋์์ด๋์ ๋ ์ด์ด๋ณ ์ ์ ๊ณผ์ ์ ํ์ตํด ๊ณ์ธต์ SVG๋ฅผ ํฉ์ฑํ๋ Diffusion Transformer. ์ฝ์ด: VTracer(๋์คํฐโSVG ํธ๋ ์ด์ฑ)
- Potrace - ๋ค๊ฐํ ๊ธฐ๋ฐ ๋นํธ๋งตโ๋ฒกํฐ ํธ๋ ์ด์ฑ ๋๊ตฌ. Inkscape์ Trace Bitmap ๊ธฐ๋ฐ์ด์ ๋ฒกํฐํ ๋ ผ๋ฌธ์ ๊ณ ์ baseline (GPLv2)
- autotrace - outline/centerline ํธ๋ ์ด์ฑ๊ณผ ์ปฌ๋ฌ ์ถ์๋ฅผ ์ง์ํ๋ ๋นํธ๋งตโ๋ฒกํฐ ๋ณํ๊ธฐ (C)
- VTracer - ์ปฌ๋ฌ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์ง์ํ๋ ์คํ์์ค ๋์คํฐโSVG ๋ณํ๊ธฐ (Rust)
- Deep Vectorization of Technical Drawings - ECCV 2020. ์ ์ ยท๋ฒกํฐํยท์ ์ ยท๋ณํฉ ๋จ๊ณ๋ก ๊ธฐ์ ๋๋ฉด์ ๋ฒกํฐ ๊ณก์ ยท์ง์ ์ผ๋ก ๋ณํํ๋ PyTorch ํ์ดํ๋ผ์ธ. ์ฝ์ด: cairo(pycairo)
- LIVE (Layer-wise Image Vectorization) - CVPR 2022 Oral. ๋ซํ ๋ฒ ์ง์ด ๊ฒฝ๋ก๋ฅผ ์ ์ง์ ์ผ๋ก ์ถ๊ฐยท์ต์ ํํ๋ฉฐ ๋์คํฐ ์ด๋ฏธ์ง๋ฅผ ๋ ์ด์ด ๋จ์๋ก ๋ฒกํฐํ. ์ฝ์ด: DiffVG(์ ์ฅ์์ ๋ฒ๋ค)
- SAMVG - ICASSP 2024. Segment-Anything Model์ ํ์ฉํ ๋ค๋จ๊ณ(coarse-to-fine) ์ด๋ฏธ์ง ๋ฒกํฐํ
- Optimize & Reduce (O&R) - AAAI 2024. ๋ฒ ์ง์ด ํ๋ผ๋ฏธํฐ ์ต์ ํ ํ ์ค์๋ ๊ธฐ๋ฐ์ผ๋ก ๋ํ ์๋ฅผ ์ค์ด๋ Top-Down ์ด๋ฏธ์ง ๋ฒกํฐํ. ์ฝ์ด: DiffVG
- SuperSVG - CVPR 2024. superpixel ๋ถํด์ coarse-path ์ ๋ ๋ฆฌํ์ธ๋จผํธ๋ก ๋ณต์กํ ์ด๋ฏธ์ง๋ฅผ ๋ฒกํฐํ
- SGLIVE (Segmentation-guided Layer-wise Vectorization) - ECCV 2024. ๊ทธ๋๋์ธํธ ์ธ์ ๋ถํ ๋ก ๋ฐฉ์ฌํ ๊ทธ๋๋์ธํธ ์ฑ์ ๋ฒ ์ง์ด ๊ฒฝ๋ก๋ฅผ ์ ์ง ์์ฑ. ์ฝ์ด: DiffVG(ํฌํฌ ๋ฒ๋ค)
- Layered Image Vectorization via Semantic Simplification - CVPR 2025. ์๋ฏธ ์ ๋ ฌ๋ ๊ฑฐ์ ๊ตฌ์กฐ์์ ์ธ๋ถ๊น์ง ๊ณ์ธต์ ์ผ๋ก ๋์คํฐ ์ด๋ฏธ์ง๋ฅผ ๋ฒกํฐํ
- DeepVecFont - SIGGRAPH Asia 2021. ๋์คํฐ ์ด๋ฏธ์ง์ ๋ฒกํฐ ์ค๊ณฝ์ ์ด์ค ๋ชจ๋ฌ๋ฆฌํฐ ํ์ต์ผ๋ก ๊ณ ํ์ง ๋ฒกํฐ ํฐํธ ํฉ์ฑ. ์ฝ์ด: DiffVG(ํ ์คํธ ๋จ๊ณ ์ ์ ) (๋ ผ๋ฌธ)
- DeepVecFont-v2 - CVPR 2023. Transformer๋ก ๊ธธ๊ณ ๋ณต์กํ ๋ฒกํฐ ์์๋ผ์ธ์ ์์ ์ ์ผ๋ก ํฉ์ฑ. ์๋ฌธยท์ค๋ฌธ ํฐํธ ์ง์. ์ฝ์ด: cairosvg(๋ ๋๋ง) (๋ ผ๋ฌธ)
- DualVector - CVPR 2023. ์ด์ค ํํธ(dual-part) ํํ์ผ๋ก ๊ธ๋ฆฌํ๋ฅผ ๋ชจ๋ธ๋งํ๋ ๋น์ง๋ ๋ฒกํฐ ํฐํธ ํฉ์ฑ. ์ฝ์ด: DiffVG(์์ ํ)
- VecFontSDF - CVPR 2023. ๋ถํธ๊ฑฐ๋ฆฌํจ์(SDF)๋ก ๊ธ๋ฆฌํ๋ฅผ ํฌ๋ฌผ์ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ก ๋ชจ๋ธ๋งํด ๋ฒกํฐ ํฐํธ๋ฅผ ์ฌ๊ตฌ์ฑยทํฉ์ฑ
- VecFusion - CVPR 2024. ๋์คํฐ+๋ฒกํฐ ์บ์ค์ผ์ด๋ ํ์ฐ ๋ชจ๋ธ๊ณผ ํธ๋์คํฌ๋จธ๋ก ์ ์ด์ ๊น์ง ์ ๋ฐํ๊ฒ ์์ธกํ๋ ๋ฒกํฐ ํฐํธ ์์ฑ (Adobe/UMass)
- Word-As-Image for Semantic Typography - SIGGRAPH 2023. ๊ธ์ ์ธ๊ณฝ์ ์ ๋จ์ด ์๋ฏธ์ ๋ง๊ฒ ์ต์ ํํ๋ ์๋งจํฑ ํ์ดํฌ๊ทธ๋ํผ (DiffVG + Stable Diffusion)
- sketch-rnn - ICLR 2018. ์คํธ๋กํฌ ๊ธฐ๋ฐ ๋ฒกํฐ ์ค์ผ์น๋ฅผ ์์ฑํ๋ seq2seq VAE (David Ha & Douglas Eck)
- CLIPasso - SIGGRAPH 2022 Best Paper. CLIP ์ง๊ฐ ์์ค๊ณผ DiffVG๋ก ๊ฐ์ฒด ์ด๋ฏธ์ง๋ฅผ ์ถ์ํ ์์ค์ ์กฐ์ ํ๋ฉฐ ๋ฒ ์ง์ด ์ค์ผ์น๋ก ๋ณํ (๋ ผ๋ฌธ)
- CLIPVG - AAAI 2023. DiffVG์ CLIP๋ง์ผ๋ก ์ถ๊ฐ ์์ฑ ๋ชจ๋ธ ์์ด ํ ์คํธ ๊ธฐ๋ฐ ๋ฒกํฐ ๊ทธ๋ํฝ ์กฐ์
- Keyframer (Apple) - CHI 2024. LLM ์ฝ๋ ์์ฑ์ผ๋ก ์ ์ SVG๋ฅผ ์์ฐ์ด ํ๋กฌํํธ๋ก CSS ์ ๋๋ฉ์ด์ ํ๋ ํ๋กํ ํ์ดํ ๋๊ตฌ (๋ ผ๋ฌธ)
- LiveSketch (Breathing Life Into Sketches) - CVPR 2024 Highlight. text-to-video diffusion prior๋ก ํ ์คํธ ํ๋กฌํํธ๋ง์ผ๋ก ๋ฒกํฐ ์ค์ผ์น์ ๋ชจ์ ๋ถ์ฌ
- AniClipart - IJCV 2024. ํคํฌ์ธํธ ๊ถค์ ์ ํ๋น ๋ฒ ์ง์ด๋ก ๋งค๊ฐ๋ณ์ํํ๊ณ ARAP ๋ณํ + text-to-video prior๋ก ํด๋ฆฝ์ํธ ์ ๋๋ฉ์ด์ . ์ฝ์ด: DiffVG (๋ ผ๋ฌธ)
- SketchAgent - CVPR 2025. LLM์ผ๋ก ๊ทธ๋ฆฌ๋ ๊ธฐ๋ฐ ์คํธ๋กํฌ ์ธ์ด๋ฅผ ์์ฑํด ์์ฐจ์ ๋ฒกํฐ ์ค์ผ์น๋ฅผ ๊ทธ๋ฆฌ๋ ๋ํํ ์์ด์ ํธ (MITยทStanford)
- Dynamic Typography - ICCV 2025. video diffusion prior๋ก ๊ธ์๋ฅผ ์๋ฏธ์ ๋ง๊ฒ ๋ณํยท์ ๋๋ฉ์ด์ ํํ๋ ๋ฒกํฐ ํ ์คํธ ์ ๋๋ฉ์ด์ . ์ฝ์ด: DiffVG
- LogoMotion - CHI 2025 (Columbia+Adobe). ๋ ์ด์ด๋ ๋ก๊ณ ๋ฌธ์๋ฅผ ์๊ฐ์ ๊ทผ๊ฑฐ ๊ธฐ๋ฐ ์ฝ๋ ํฉ์ฑยทํ๋ก๊ทธ๋จ ์๋ฆฌ๋ก ๋ถ์ํด ์ฝํ ์ธ ์ธ์งํ ๋ก๊ณ ์ ๋๋ฉ์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ LLM ์์คํ . ์ฝ๋ ๋ฏธ๊ณต๊ฐ
- MoVer - SIGGRAPH 2025 (Stanford). LLM์ด ์์ฑํ SVG ๋ชจ์ ๊ทธ๋ํฝ์ 1์ฐจ ๋ ผ๋ฆฌ DSL๋ก ๊ฒ์ฆํ๊ณ ์คํจ ํญ๋ชฉ์ LLM์ ํผ๋๋ฐฑํด ๋ฐ๋ณต ์์ ํ๋ ํ์ดํ๋ผ์ธ (์ ๋ต๋ฅ 58.8%โ93.6%)
- OmniLottie - CVPR 2026. ํ ์คํธยท์ด๋ฏธ์งยท๋น๋์ค ์ง์๋ก Lottie JSON์ ์ง์ ์์ฑํ๋ ๋ฉํฐ๋ชจ๋ฌ VLM ์์ฑ๊ธฐ. Lottie ํ ํฌ๋์ด์ , 4B ๋ชจ๋ธ, MMLottie-2M ๋ฐ์ดํฐ์ ๊ณต๊ฐ. ์ฝ์ด: ์์(Lottie JSON ์ง์ ์์ฑ)
- LottieGPT - CVPR 2026. Lottie JSON์ ๋ ์ด์ดยทํธ๋์คํผยทํคํ๋ ์์ ์์ถ ํ ํฐํํด ์๊ธฐํ๊ท ๋ฐฉ์์ผ๋ก ๋ฒกํฐ ์ ๋๋ฉ์ด์ ์์ฑ. LottieAnimation-660K ๋ฐ์ดํฐ์ ๊ตฌ์ถ. ์ฝ๋ ๋ฏธ๊ณต๊ฐ
์ฝ๋ฉ ์์ด์ ํธ(Claude Code ๋ฑ)๊ฐ SVGยทLottie๋ฅผ ์ง์ ์์ฑยท์กฐ์ํ๋๋ก ํ๋ ์คํฌ๊ณผ MCP ์๋ฒ๋ค์ ๋๋ค.
-
anthropics/skills - Anthropic ๊ณต์ Agent Skills ์ ์ฅ์. ๊ทธ๋ํฝ ๊ด๋ จ์ผ๋ก
canvas-design(ํฌ์คํฐยท์ํธ),algorithmic-art(p5.js ์ ๋๋ฌํฐ๋ธ ์ํธ) ๋ฑ์ ํฌํจ (SVG/Lottie ์ ์ฉ ์คํฌ์ ์์) -
text-to-lottie (diffusionstudio/lottie) - ์ฝ๋ฉ ์์ด์ ํธ๊ฐ ์์ฐ์ด ํ๋กฌํํธ๋ก Lottie ์ ๋๋ฉ์ด์
์ ์์ฑํ๋ ์คํ์์ค ์คํฌ ํ๋ ์์ํฌ. ์์ด์ ํธ๊ฐ ์์ฑํ
lottie.json์ ๋ด์ฅ ์น ํ๋ ์ด์ด๋ก ์ค์๊ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ. ์ฝ์ด: ์์(Lottie JSON ์ง์ ์์ฑ) - LottieFiles/motion-design-skill - LottieFiles ๊ณต์ ์์ด์ ํธ ์คํฌ. ํ์ด๋ฐยท์ด์งยท์ฐ์ถ ๋ฑ ๋ชจ์ ๋์์ธ ์์น์ ์์ด์ ํธ์๊ฒ ๊ฐ๋ฅด์ณ CSS/GSAP/Lottie ์ ๋๋ฉ์ด์ ์ฝ๋ ํ์ง์ ๋์ด๋ ์์น ์คํฌ
-
Lottie Creator MCP - LottieFiles ๊ณต์ MCP ์๋ฒ(
@lottiefiles/creator-mcp). AI๊ฐ ๋ธ๋ผ์ฐ์ ์ LottieFiles Creator๋ฅผ ์๊ฒฉ ์กฐ์ํด Lottie๋ฅผ ์์ฑยทํธ์ง - wiggle-claude-skill - ์ ์ ๋ก๊ณ (PNG/SVG/JPG)๋ฅผ fadeยทbounceยทwiggle ๋ชจ์ ์ Lottie JSON์ผ๋ก ์ ๋๋ฉ์ด์ ํํ๊ณ GIF/MP4๊น์ง ๋ ๋๋งํ๋ Claude Code ์คํฌ
- lottie-animator-skill - SVG๋ฅผ ์ ๋ ฅ๋ฐ์ ํคํ๋ ์ยท๋ฒ ์ง์ด ์ด์งยท๋ ์ด์ด ํ์ด๋ฐํ ์ ๊ฐ์ถ Lottie JSON์ LLM์ด ์ง์ ์์ฑํ๊ฒ ํ๋ Claude ์คํฌ
- svgmaker-mcp - ํ ์คํธ ํ๋กฌํํธ๋ก SVG๋ฅผ ์์ฑยทํธ์งํ๊ณ ์ด๋ฏธ์งโSVG ๋ณํ๊น์ง ์ง์ํ๋ MCP ์๋ฒ (์ธ๋ถ SVGMaker API ์ฌ์ฉ)
- mcp-server-lottiefiles - LottieFiles์์ ํค์๋๋ก Lottie ์ ๋๋ฉ์ด์ ์ ๊ฒ์ยท์กฐํํ๋ MCP ์๋ฒ (์์ฑ์ด ์๋ ์์ ํ์์ฉ)
์ ธ์ด๋ ๋ฐ ์์ฒด๋ ๋ฒกํฐ ํฌ๋งท์ ๋ค๋ฃจ์ง ์์ง๋ง, ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ์ผ์ Cairo, Qt Quick ์ฌ๊ทธ๋ํ, GTK/GSK ๊ฐ์ ๋ฒกํฐ ๊ทธ๋ํฝ์ค ์คํ์ ์์ํ๋ ์ ํ๋ค์ ๋๋ค.
- Sway - i3 ํธํ Wayland ์ปดํฌ์งํฐ. swaybar/swaynag๋ฅผ cairo+pango๋ก ๋ ๋๋ง
- swaybg - Wayland ๋ฐฐ๊ฒฝํ๋ฉด ๋๊ตฌ. ๋ฐฐ๊ฒฝ์ cairo ์ํผ์ค๋ก ๋ ๋๋ง
- swaylock - Wayland ํ๋ฉด ์ ๊ธ ๋๊ตฌ. ์ ๊ธ ํ๋ฉด์ cairo๋ก ๋ ๋๋ง
- hyprlock - Hyprland ํ๋ฉด ์ ๊ธ ์ ํธ๋ฆฌํฐ. ์ ๊ธ ํ๋ฉด์ cairo+pango๋ก ๋ ๋๋ง
- i3 / i3bar - X11 ํ์ผ๋ง ์๋์ฐ ๋งค๋์ . ์ฐฝ ์ฅ์๊ณผ i3bar๋ฅผ cairo/pango๋ก ๋ ๋๋ง
- Waybar - Sway/wlroots์ฉ Wayland ๋ฐ. GTK3(gtkmm) ๊ธฐ๋ฐ, pango/cairo๋ก ๋ ๋๋ง
- Polybar - X11 ์ํ ๋ฐ. ๋ฐ ๋ํ๊ณผ ํ ์คํธ๋ฅผ cairo๋ก ์ง์ ๋ ๋๋ง
- tint2 - ๊ฒฝ๋ X11 ํจ๋/ํ์คํฌ๋ฐ. ํจ๋ ์์๋ฅผ cairo/pangocairo๋ก ๋ ๋๋ง
- eww (ElKowar's Wacky Widgets) - ์๋์ฐ ๋งค๋์ ๋ ๋ฆฝ ์์ ฏ ์์คํ (Rust/GTK3). cairo ์ปจํ ์คํธ๋ก ์์ ฏ ๋๋ก์
- mako - ๊ฒฝ๋ Wayland ์๋ฆผ ๋ฐ๋ชฌ. ์๋ฆผ์ cairo+pango๋ก ๋ ๋๋ง
- Conky - ๊ฒฝ๋ ์์คํ ๋ชจ๋ํฐ. ๋ด์ฅ cairo ๋ฐ์ธ๋ฉ์ผ๋ก Lua ๋๋ก์
- Cairo-Dock (Glx-Dock) - Cairo/OpenGL๋ก ๋ ๋๋งํ๋ ๋ฆฌ๋ ์ค ๋ฐ์คํฌํฑ ๋
- Quickshell - QtQuick์ผ๋ก Wayland/X11 ๋ฐ์คํฌํฑ ์ ธ์ ๋ง๋๋ C++/QML ํดํท. UI๋ฅผ Qt Quick ์ฌ๊ทธ๋ํ๋ก ๋ ๋๋ง (GitHub ๋ฏธ๋ฌ)
- caelestia shell - Quickshell ๊ธฐ๋ฐ Hyprland์ฉ ๋ฐ์คํฌํฑ ์ ธ. ์ฝ๋ ๋๋ถ๋ถ์ด QML์ด๋ฉฐ Qt Quick ์ฌ๊ทธ๋ํ๋ก ๋ ๋๋ง
- DankMaterialShell - Quickshell(QML) UI + Go ๋ฐฑ์๋๋ก ๋ง๋ Wayland ๋ฐ์คํฌํฑ ์ ธ. niriยทHyprlandยทSway ๋ฑ์์ ๋ฐยท์๋ฆผยท์ ๊ธํ๋ฉด์ ํตํฉ ๋์ฒด
- end-4/dots-hyprland - "illogical-impulse" Hyprland ๋ํธํ์ผ. ์ํ๋ฐยท์ฌ์ด๋๋ฐ ๋ฑ ์์ ฏ์ Quickshell๋ก ๊ตฌํ (๊ตฌ AGS ๋ฒ์ ์ ์ง์ ์ข ๋ฃ)
- KDE Plasma Shell - KDE Plasma ๋ฐ์คํฌํฑ ์ ธ. ํจ๋๊ณผ ์์ ฏ(ํ๋ผ์ฆ๋ชจ์ด๋)์ด QML๋ก ์์ฑ๋์ด Qt Quick ์ฌ๊ทธ๋ํ๋ก ๋ ๋๋ง
- Astal - ๋ฐ์คํฌํฑ ์ ธ ๊ตฌ์ถ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ์(Vala/C). GTK3(cairo)ยทGTK4(GSK) ์์ ฏ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ชจ๋ ์ ๊ณต
- AGS - Astal ๊ธฐ๋ฐ ์ ธ ํ๋ก์ ํธ์ฉ ์ค์บํด๋ฉ CLI. TypeScript/JSX๋ก GTK ์์ ฏ์ ์์ฑ
- HyprPanel - Astal(GTK3, cairo ๋๋ก์) ๊ธฐ๋ฐ Hyprland ํจ๋ (TypeScript). ํ์ฌ ์ ์ง๋ณด์ ๋ชจ๋
- Ignis - Python์ผ๋ก ์์ฑยท์ค์ ํ๋ GTK4(GSK ๋ ๋๋ง) ๊ธฐ๋ฐ ์์ ฏ ํ๋ ์์ํฌ. Layer Shell ์ง์ Wayland ์ปดํฌ์งํฐ ๋์
- ironbar - Rust๋ก ์์ฑ๋ GTK4(GSK ๋ ๋๋ง) ๊ธฐ๋ฐ Wayland ์ํ๋ฐ. SwayยทHyprland 1์ฐจ ์ง์
- Fabric - Python์ผ๋ก ์์ ฏ์ ์์ฑํ๋ GTK3(cairo ๋๋ก์) ๊ธฐ๋ฐ ๋ฐ์คํฌํฑ ์์ ฏ ์์คํ . X11ยทWayland ๋ชจ๋ ์ง์
- GNOME Shell - GNOME ๋ฐ์คํฌํฑ ์ ธ. OpenGL ์ฌ๊ทธ๋ํ Clutter์ ์์ฒด ํดํท St๋ก UI๋ฅผ ๊ทธ๋ฆฌ๋ฉฐ, ์ปค์คํ ๋๋ก์์ cairo ์ปจํ ์คํธ๋ฅผ ์ฌ์ฉ
- Noctalia - Wayland ๋ฐ์คํฌํฑ ์ ธ. v5๋ถํฐ Qt/GTK ์์กด์ฑ ์์ด Wayland + OpenGL ES ์์ ์ง์ ๋ ๋๋งํ๋ ์์ฒด C++ ์ ธ์ด๋ฉฐ, ๊ตฌ v4 ๋ผ์ธ์ Quickshell(QtQuick) ๊ธฐ๋ฐ์ด์์ (FAQ)
- Inkscape - ์คํ์์ค ๋ฒกํฐ ๊ทธ๋ํฝ ํธ์ง๊ธฐ. ํ๋ฉด ํ์ยทPNGยทPDF/PS ์ถ๋ ฅ์ cairo๋ก ๋ ๋๋ง
- GIMP - ์ด๋ฏธ์ง ํธ์ง๊ธฐ. ์บ๋ฒ์ค์ UI ๋๋ก์์ cairo๋ก ๋ ๋๋ง
- GTK - GNOME ๋ฐ์คํฌํฑ ์์ ฏ ํดํท. GTK3 ์์ ฏ ๋ ๋๋ง์ cairo๋ก ์ํ
- Pango - ํ ์คํธ ๋ ์ด์์/๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. PangoCairo ๋ฐฑ์๋๋ก cairo ์ํผ์ค์ ๋ ๋๋ง
- Poppler - PDF ๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. cairo ๋ฐฑ์๋๋ก PDF ํ์ด์ง ๋ ๋๋ง (๊ณต์ ์ฌ์ดํธ)
- Evince - GNOME ๋ฌธ์ ๋ทฐ์ด. PDF ๋ฑ ๋ฌธ์ ํ์ด์ง๋ฅผ cairo๋ก ๋ ๋๋ง
- Scribus - ์คํ์์ค DTP ๋๊ตฌ. ์บ๋ฒ์ค์ ์ถ๋ ฅ ๋ ๋๋ง์ cairo ์ฌ์ฉ
- Dia - GTK ๊ธฐ๋ฐ ๋ค์ด์ด๊ทธ๋จ ํธ์ง๊ธฐ. Cairo๋ก ๋ ๋๋งํ๊ณ SVG/EPS/PDF ๋ฒกํฐ ์ถ๋ ฅ ์ง์
- Matplotlib - ํ์ด์ฌ ํ๋กํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. cairo ๋ฐฑ์๋๋ก ๋์คํฐ/PDF/PS/SVG ๋ ๋๋ง
- mplcairo - Matplotlib์ฉ cairo ๋ฐฑ์๋. ํ๋กฏ์ cairo๋ก ๊ทธ๋ฆฌ๊ณ ๋ณต์ก ํ ์คํธ๋ Raqm ์ฌ์ฉ
- gnuplot - ๊ทธ๋ํ ํ๋กํ ์ ํธ๋ฆฌํฐ. pngcairo/pdfcairo/wxt ํฐ๋ฏธ๋์ด cairo๋ก ๋ ๋๋ง
- Firefox / Gecko (historical) - Gecko๊ฐ 2D ํ์ธํ ์ cairo๋ฅผ ์ฌ์ฉํ๋ค WebRender๋ก ์ ํํ ๊ณผ์ ์ ์ค๋ช ํ๋ Mozilla gfx ๋ธ๋ก๊ทธ
- Introducing Skia Graphite: Chrome's rasterization backend - Chrome์ Skia GPU ๋์คํฐํ ๋ฐฑ์๋๋ฅผ Ganesh์์ Graphite๋ก ์ ํ. Metal/Vulkan/D3D12 ํ์ฉ
- LibreOffice - vcl/skia backend - LibreOffice VCL์ ๋ ๋๋ง ๋ฐฑ์๋๋ก Skia ์ฑํ. Vulkan/Metal/๋์คํฐ ์ง์
- Mozilla Platform/GFX/Moz2D - Gecko์ Moz2D ๊ทธ๋ํฝ ์ถ์ํ๊ฐ ์ง์ํ๋ ๋ฐฑ์๋ ์ค ํ๋๋ก Skia ํฌํจ
- Avalonia UI - Avalonia.Skia - .NET ํฌ๋ก์คํ๋ซํผ UI ํ๋ ์์ํฌ. SkiaSharp ๊ธฐ๋ฐ ๋ ๋๋ง ๋ฐฑ์๋
- React Native Skia - Skia๋ฅผ React Native์ ๋ ธ์ถํ๋ ๊ณ ์ฑ๋ฅ 2D ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. Ganesh/Graphite ๋ฐฑ์๋
- SkiaSharp - Skia ๊ธฐ๋ฐ .NET ํฌ๋ก์คํ๋ซํผ 2D ๊ทธ๋ํฝ API. Windows/macOS/Linux/๋ชจ๋ฐ์ผ/WASM ์ง์
- Microsoft.Maui.Graphics - .NET MAUI Graphics ๋ผ์ด๋ธ๋ฌ๋ฆฌ. SkiaSharp ๊ธฐ๋ฐ SkiaCanvas๋ฅผ ๋ ๋๋ง ๋ฐฑ์๋๋ก ์ ๊ณต
- Uno Platform - The Skia Renderer - C#/XAML ํฌ๋ก์คํ๋ซํผ ํ๋ ์์ํฌ. Uno.Sdk 6.0๋ถํฐ Skia ๋ ๋๋ฌ๊ฐ ๊ธฐ๋ณธ
- Slint - Rust/C++/JS/Python์ฉ ์ ์ธํ GUI ํดํท. Skia ๋ ๋๋ฌ๋ฅผ ์ต์ ๋ฐฑ์๋๋ก ์ ๊ณต
- Cobalt - Chromium/Blink ๊ธฐ๋ฐ ๊ฒฝ๋ HTML5 ํ๋ซํผ(TVยท์๋ฒ ๋๋). Skia๋ก GPU ๊ฐ์ ๋ ๋๋ง
-
Veykril/blend2d-rs - Blend2D์ Rust ๋ฐ์ธ๋ฉ (crates.io:
blend2d) - shiguredo/blend2d-py - Blend2D์ Python ๋ฐ์ธ๋ฉ. NumPy ์ฐ๋
- neslib/DelphiBlend2D - Blend2D์ Delphi ์ธ์ด ๋ฐ์ธ๋ฉ ๋ฐ ํ๋ ์์ํฌ (VCLยทFireMonkey ์ฐ๋)
- kdmult/bindbc-blend2d - Blend2D C API์ D ์ธ์ด ์ ์ /๋์ ๋ฐ์ธ๋ฉ
- LuizZak/swift-blend2d - Blend2D์ Swift ๋ฐ์ธ๋ฉ (์คํ์ )
- openpeeps/blend2d-nim - Blend2D์ Nim ์ธ์ด ๋ฐ์ธ๋ฉ
- code3743/layer_canvas - Blend2D๋ฅผ FFI๋ก ์ฌ์ฉํ๋ Dart/Flutter์ฉ 2D ์ปดํฌ์งํ ์์ง
- DenizUgur/solarpaper - Blend2D๋ก ํ์๊ณ ์๊ฐํ๋ฅผ ๊ทธ๋ ค ๋ฐํํ๋ฉด์ ๋์ ์ผ๋ก ๊ฐฑ์ ํ๋ ์ฑ
- rive-app/rive-react-native - iOS/Android ๋ฐํ์์ ๊ฐ์ผ ๊ณต์ React Native ๋ฐํ์
- rive-app/rive-bevy - Bevy ๊ฒ์ ์์ง์ฉ Rive ๋ฐํ์ (Rust ์ฝ์ด, Vello ๋ ๋๋ง)
- rive-app/rive-tizen - ์ผ์ฑ Tizen ํ๋ซํผ์ฉ Rive ๋ฐํ์. ๋ ๋๋ง์ ThorVG ์ฌ์ฉ
- basysKom/RiveQtQuickPlugin - Qt Quick(QML)์์ Rive ์ ๋๋ฉ์ด์ ์ ๋ ๋๋งํ๋ ์ปค๋ฎค๋ํฐ ํ๋ฌ๊ทธ์ธ
- Defold extension-rive - Defold ๊ฒ์ ์์ง์ฉ ๊ณต์ Rive ํ์ฅ
-
PaulieScanlon/rise-of-the-robots - Rive(
.riv) ์ ๋๋ฉ์ด์ ์ ์๋ฒ ๋ํ Gatsby ์คํ์์ค ์น์ฌ์ดํธ -
zplata/plant-blog-rive - Rive(
.riv)๋ฅผ ํ์ฉํ Next.jsยทTailwindCSS ์์ ๋ธ๋ก๊ทธ
- ThorVG Showcase - Canva iOS, Tizen, MorphOS, SEGGER, Crank Storyboard ๋ฑ ์ฑํ ์ฌ๋ก ๊ณต์ ์ผ์ผ์ด์ค
- thorvg/thorvg.flutter - ThorVG ๊ธฐ๋ฐ ๊ณต์ Flutter ๋ฐํ์. ๋ค์ดํฐ๋ธ Lottie ๋ ๋๋ง
- thorvg/thorvg.vscode - VS Code์์ LottieยทSVG๋ฅผ ์ค์๊ฐ ๋ฏธ๋ฆฌ๋ณด๋ ThorVG Viewer ํ์ฅ
- thorvg/thorvg.janitor - ์ ๋ถ ThorVG๋ก ๋ ๋๋งํ Asteroids ์คํ์ผ ์ธํฐ๋ํฐ๋ธ ๋ฐ๋ชจ ๊ฒ์
- LottieFiles/dotlottie-web - ThorVG(Rust+WASM) ์ฝ์ด ๊ธฐ๋ฐ LottieFiles ๊ณต์ ์น dotLottie ํ๋ ์ด์ด
- LottieFiles/dotlottie-rs - ThorVG ๋ ๋๋ง ์์ง ๊ธฐ๋ฐ ํฌ๋ก์คํ๋ซํผ dotLottie ๋ฐํ์ (C/Kotlin/Swift/WASM FFI)
- LVGL Lottie Widget (lv_lottie) - ThorVG๋ฅผ ์ฐ๋ํด Lottie ์ ๋๋ฉ์ด์ ์ ๋ ๋๋งํ๋ LVGL ์์ ฏ
- espressif/thorvg (ESP Component Registry) - ESP-IDF์ฉ ThorVG ๊ณต์ ์ปดํฌ๋ํธ
- espressif2022/lottie_player - LVGL v8 + ThorVG ๊ธฐ๋ฐ ์๋ฒ ๋๋์ฉ ๊ฒฝ๋ Lottie ์ ๋๋ฉ์ด์ ํ๋ ์ด์ด
- Blender #148684: Library Proposal - ThorVG - NanoSVG๋ฅผ ๋์ฒดํด ThorVG๋ฅผ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋์ ํ๋ ค๋ Blender ๊ณต์ ์ ์
- godot-proposals #9104: Add Lottie support using ThorVG - Godot์ ThorVG ๊ธฐ๋ฐ Lottie ์ง์์ ์ถ๊ฐํ์๋ ์ ์ (Godot์ ์ด๋ฏธ SVG์ ThorVG ์ฌ์ฉ ์ค)
- Kyooz/Lottie-godot - ThorVG๋ฅผ ๋ฐฑ์๋๋ก Godot 4.3+์ Lottie๋ฅผ ํตํฉํ๋ ์ปค๋ฎค๋ํฐ ํ๋ฌ๊ทธ์ธ
- Graphite: Year in review 2024 - ์คํ์์ค 2D ์๋ํฐ Graphite๊ฐ ๊ธฐ์กด SVG ๊ธฐ๋ฐ ๋ ๋๋ง์ Vello๋ก ๊ต์ฒดํ์์ ๋ฐํ ๊ณต์ ๋ธ๋ก๊ทธ
- linebender/bevy_vello - Bevy ๊ฒ์ ์์ง์ฉ ๋ฒกํฐ ๊ทธ๋ํฝ ๋ ๋๋ง ํตํฉ. Vello๋ก ์ฌยทํ ์คํธยทSVGยทLottie๋ฅผ UI/์๋ ๊ณต๊ฐ์ ๋ ๋๋ง
- Servo #38345: Tracking issue of Vello canvas backends - Servo ๋ธ๋ผ์ฐ์ ์์ง์ 2D ์บ๋ฒ์ค ๋ฐฑ์๋๋ฅผ Vello(GPU)์ vello_cpu๋ก ๊ต์ฒดํ๋ ๊ณต์ ์ถ์ ์ด์
- Blitz - Dioxus์ ๋ชจ๋ํ HTML/CSS ๋ ๋๋ง ์์ง. Vello ๋ ๋๋ฌ๋ก ํ์ธํ ํ๊ณ ํ ์คํธ ๋ ์ด์์์ Parley ์ฌ์ฉ
- Graphite - Rust ๋ ธ๋ ๊ธฐ๋ฐ ๋นํ๊ดด 2D ๋ฒกํฐ/๋์คํฐ ๊ทธ๋ํฝ ์๋ํฐ (์ํ, Apache-2.0). ๋ ๋๋ง์ Vello๋ก ์ ํ
- Penpot - ์คํ์์ค ๋์์ธยทํ๋กํ ํ์ดํ ํ๋ซํผ. SVG ๊ธฐ๋ฐ, Rust/WASM ๋ ๋๋ฌ ๋์ (MPL-2.0)
- Excalidraw - ์๊ทธ๋ฆผ ์คํ์ผ ์คํ์์ค ํ์ดํธ๋ณด๋. Canvas + Rough.js, SVG/PNG ๋ด๋ณด๋ด๊ธฐ (MIT)
- tldraw - ๋ฌดํ ์บ๋ฒ์ค ํ์ดํธ๋ณด๋ SDK. DOM ๋ ๋๋ง. ์์ฉ ์ฌ์ฉ ์ ๋ผ์ด์ ์ค ํค ํ์
- Krita - ์คํ์์ค ๋์งํธ ํ์ธํ SW. SVG ๊ธฐ๋ฐ ๋ฒกํฐ ๋ ์ด์ด ์ง์ (GPL-3.0)
- LibreOffice Draw - LibreOffice์ ์คํ์์ค ๋ฒกํฐ ๋๋ก์ ์ฑ. SVG/PDF/Visio ์ ์ถ๋ ฅ (MPL-2.0)
- Glaxnimate - ์คํ์์ค ๋ฒกํฐ ์ ๋๋ฉ์ด์ ์๋ํฐ. Lottie/SVG/GIF/WebP ์ถ๋ ฅ, Qt6 ๊ธฐ๋ฐ (GPLv3, KDE ํ๋ก์ ํธ๋ก ์ด๊ด๋จ)
- Synfig Studio - ์คํ์์ค ๋ฒกํฐ ๊ธฐ๋ฐ 2D ์ ๋๋ฉ์ด์ SW. ํคํ๋ ์ ์๋ ๋ณด๊ฐ, ์์ฒด ๋ฉํฐ์ค๋ ๋ ๋ ๋ ์์ง "Cobra" ์ฌ์ฉ (GPL-3.0)
- OpenToonz - ์คํ๋์ค ์ง๋ธ๋ฆฌ ๋ฒ์ ๊ธฐ๋ฐ ์คํ์์ค 2D ์ ๋๋ฉ์ด์ SW. ๋ฒกํฐ/๋นํธ๋งต (Modified BSD)
- Pencil2D - ์คํ์์ค ์๊ทธ๋ฆผ 2D ์ ๋๋ฉ์ด์ ํด. ๋นํธ๋งตยท๋ฒกํฐ ๋ ์ด์ด, Qt(QPainter)๋ก ์บ๋ฒ์ค ๋ ๋๋ง (GPL-2.0)
- FontForge - TrueType/OpenType/PostScript ํฐํธ์ ๋ฒกํฐ ์์๋ผ์ธ์ ํธ์งํ๋ ์คํ์์ค ํฐํธ ์๋ํฐ (GPL-3.0)
- SVGO - Node.js ๊ธฐ๋ฐ SVG ์ต์ ํ ๋๊ตฌ. ํ๋ฌ๊ทธ์ธ ๊ตฌ์กฐ๋ก ๋ถํ์ ๋ฐ์ดํฐ ์ ๊ฑฐ (MIT)
- svgcleaner - Rust๋ก ์์ฑ๋ ๋ฌด์์ค SVG ๊ฒฝ๋ํ ๋๊ตฌ. resvg ์ ์ ์ ์ (GPL-2.0)
- lottie-web - Airbnb์ Lottie ๋ ๋๋ฌ. After Effects ์ ๋๋ฉ์ด์ (JSON)์ SVG/Canvas/HTML๋ก ๋ ๋๋ง (MIT)
- vpype - ํ ํ๋กํฐ ๋ฒกํฐ ๊ทธ๋ํฝ ์ฒ๋ฆฌ์ฉ CLI/Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ. SVG ํ์ดํ๋ผ์ธ๊ณผ HPGL ์ถ๋ ฅ (MIT)
- Manim Community - ์ํ ํด์ค ์์์ฉ Python ์ ๋๋ฉ์ด์ ์์ง(3Blue1Brown ๊ณ์ด ์ปค๋ฎค๋ํฐํ). Cairo ๋ ๋๋ฌ๋ก ์ฅ๋ฉด์ ๋์คํฐํ
- Motion Canvas - ์ ๋๋ ์ดํฐ๋ก ์ ๋๋ฉ์ด์ ์ ํ๋ก๊ทธ๋๋ฐํ๋ TypeScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ + ์ค์๊ฐ ํ๋ฆฌ๋ทฐ ์๋ํฐ. ๋ธ๋ผ์ฐ์ Canvas 2D API๋ก ๋ ๋๋ง
- Processing - Java ๊ธฐ๋ฐ ํฌ๋ฆฌ์์ดํฐ๋ธ ์ฝ๋ฉ ์ค์ผ์น๋ถ. Java2D ๋ ๋๋ฌ์ OpenGL ๋ ๋๋ฌ ๋ด์ฅ
- p5.js - Processing์ ์น์ผ๋ก ์ฌํด์ํ ํฌ๋ฆฌ์์ดํฐ๋ธ ์ฝ๋ฉ JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ. WebGLยทWebGPU ๋ ๋๋ง ๋ชจ๋ ํฌํจ
- MapLibre GL JS - ๋ธ๋ผ์ฐ์ ์ฉ ๋ฒกํฐ ํ์ผ ์ง๋ ๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ. WebGL2 ๊ธฐ๋ฐ, Mapbox GL JS ํฌํฌ (BSD-3)
- MapLibre Native - ๋ชจ๋ฐ์ผยท๋ฐ์คํฌํฑยท์๋ฒ์ฉ ๋ฒกํฐ ํ์ผ ์ง๋ ๋ ๋๋ง ์์ง (C++, BSD-2)
- Mapnik - C++ ๊ธฐ๋ฐ ์คํ์์ค ์ง๋ ๋ ๋๋ง ํดํท. AGG๋ก ์๋ธํฝ์ ์ํฐ์์ผ๋ฆฌ์ด์ฑ ๋์คํฐ๋ผ์ด์ฆ, OpenStreetMap ํ์ผ ๋ ๋๋ง์ ๋๋ฆฌ ์ฌ์ฉ๋จ
- OpenLayers - GeoJSON, KML, ๋ฒกํฐ ํ์ผ์ Canvas/WebGL๋ก ๋ ๋๋งํ๋ ๊ณ ์ฑ๋ฅ ์น ์ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- D3.js - SVG/Canvas/HTML ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์๊ฐํ JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์น ํ์ค ์์์ ๋์ ๋ฒกํฐ ์์ฑ (ISC)
- Apache ECharts - Canvas์ SVG ๋ ๋๋ฌ๋ฅผ ๋ชจ๋ ์ง์ํ๋ ์ธํฐ๋ํฐ๋ธ ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์์ฒด 2D ๋ ๋๋ฌ ZRender ๊ธฐ๋ฐ
- Vega - JSON์ผ๋ก ์๊ฐํ๋ฅผ ๊ธฐ์ ํ๊ณ HTML5 Canvas ๋๋ SVG๋ก ๋ ๋๋งํ๋ ์ ์ธ์ ์๊ฐํ ๋ฌธ๋ฒ
- Vega-Lite - Vega ๋ช ์ธ๋ฅผ ์์ฑํ๋ ๊ณ ์์ค ์ธํฐ๋ํฐ๋ธ ๊ทธ๋ํฝ ๋ฌธ๋ฒ (UW Interactive Data Lab)
- plotters - Rust ๋ฐ์ดํฐ ํ๋กํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. SVG/๋นํธ๋งต/์ค์๊ฐ ๋ฑ ๋ค์ค ๋ฐฑ์๋ (MIT)
- Graphviz - DOT ์ธ์ด๋ก ๊ธฐ์ ํ ๊ทธ๋ํ๋ฅผ SVG/PDF/PostScript ๋ฒกํฐ๋ก ์ถ๋ ฅํ๋ ๊ทธ๋ํ ์๊ฐํ ์ํํธ์จ์ด. ๋นํธ๋งต ์ถ๋ ฅ์ cairo+pango๋ก ๋ ๋๋ง
-
Typst - LaTeX ๋์์ ํ๋ฐฉํ๋ ๋งํฌ์
์กฐํ ์์คํ
. ๋์คํฐ ์ถ๋ ฅ์
typst-renderํฌ๋ ์ดํธ๊ฐ tiny-skia(+resvg)๋ก ์ฒ๋ฆฌ - PDF.js - Mozilla์ ์น ํ์ค ๊ธฐ๋ฐ PDF ๋ ๋๋ง ํ๋ซํผ. PDF ํ์ด์ง์ ๋ฒกํฐ ์ฝํ ์ธ ๋ฅผ HTML Canvas 2D์ ๋ ๋๋ง
- PDFium - Chromium์ PDF ํ์ฑยท๋์คํฐ๋ผ์ด์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๊ทธ๋ํฝ ์์ง์ AGG ๊ธฐ๋ฐ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ฅผ ๋ด์ฅ
๋น๊ต์ ์ค๋๋์์ง๋ง ๋ฒกํฐ ๊ทธ๋ํฝ์ค์ ๊ทผ๋ณธ์ ์ธ ์๋ฆฌ๋ฅผ ๋ค๋ฃจ๋ ์๋ฃ๋ค์ ๋๋ค.
- A Primer on Bรฉzier Curves (Pomax) - ๋ฒ ์ง์ด ๊ณก์ ์ ์ํ๊ณผ ์ค๋ฌด ๊ธฐ๋ฒ์ ์ธํฐ๋ํฐ๋ธ ๊ทธ๋ํ๋ก ์ค๋ช ํ๋ ์จ๋ผ์ธ ์ ๋ฌธ์ (์์ค ์ ์ฅ์)
- The Beauty of Bรฉzier Curves (Freya Holmรฉr) - ์ ํ๋ณด๊ฐ๋ถํฐ ๋ ์นด์คํ ์กฐ ์๊ณ ๋ฆฌ์ฆ, ๋ฏธ๋ถยท์ ์ ยท๊ณก๋ฅ ๊น์ง ์๊ฐ์ ์ผ๋ก ํ์ด๋ธ ์ ๋ฌธ ์์
- The Continuity of Splines (Freya Holmรฉr) - ์๋ฅด๋ฏธํธยท์นด๋๋ยทB-์คํ๋ผ์ธ๊ณผ ์ฐ์์ฑ(C0/C1/C2/G1/G2)์ ๋ค๋ฃจ๋ ์คํ๋ผ์ธ ๊ฐ์
- Computer Aided Geometric Design (Sederberg, BYU) - ๋ฒ ์ง์ด ๊ณก์ , B-์คํ๋ผ์ธ, ๋ธ๋ ๋ฉ ํจ์๋ฅผ ๋ค๋ฃจ๋ CAGD ํ์ค ๋ฌด๋ฃ ๊ต์ฌ
- AGG Research - Adaptive Subdivision of Bรฉzier Curves - ํํ๋ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ฒ ์ง์ด ๊ณก์ ์ ์ ๋ถ์ผ๋ก ์ ์์ ๋ถํ (ํ๋ํธ๋)ํ๋ ๋ฐฉ๋ฒ
- Secrets of smooth Bรฉziers revealed - Euler spirals (Raph Levien) - ๊ณก๋ฅ ๋ณํ๋ฅผ ์ต์ํํ๋ ์ค์ผ๋ฌ ๋์ ์ ๋ถ๋๋ฌ์ด ๊ณก์ ํํ์ผ๋ก ์๊ฐ
- Cleaner parallel curves with Euler spirals (Raph Levien) - ์ค์ผ๋ฌ ๋์ ์กฐ๊ฐ์ผ๋ก ์ปค์คํ ์์ด ํํ๊ณก์ (์คํ์ )์ ๊ตฌํ๋ ์คํธ๋กํฌ ๊ธฐ๋ฒ
- Parallel curves of cubic Bรฉziers (Raph Levien) - 3์ฐจ ๋ฒ ์ง์ด์ ํํ๊ณก์ ๋ฌธ์ ๋ฅผ ์ ํยท๊ฐ๊ฑดยท๊ณ ์์ผ๋ก ํธ๋ ์คํธ๋กํฌ-ํฌ-ํ ๊ธฐ๋ฒ
- From Spiral to Spline: Optimal Techniques in Interactive Curve Design (Raph Levien, PhD thesis 2009) - ์ค์ผ๋ฌ ๋์ ๊ณผ ์คํ๋ผ์ธ ๋ณด๊ฐ์ ํ์ฉํ ๊ณก์ ์ค๊ณ์ ์ด๋ก ๊ณผ ์์น ๊ธฐ๋ฒ
- Diffusion Curves: A Vector Representation for Smooth-Shaded Images (Orzan et al., SIGGRAPH 2008) - ๊ณก์ ์์ชฝ์ ์์ ์ ์ํ๊ณ ํธ์์ก ๋ฐฉ์ ์์ผ๋ก ํ์ฐ์์ผ ๋ถ๋๋ฌ์ด ์์์ ๋ง๋๋ ํด์๋ ๋ ๋ฆฝ ๋ฒกํฐ ํํ์ ๊ณ ์ ๋ ผ๋ฌธ (INRIA ๊ณต์ ํ๋ก์ ํธ ํ์ด์ง)
- How the stb_truetype Anti-Aliased Software Rasterizer v2 Works (Sean Barrett) - ํฝ์ ๋ณ ๋ถํธ์๋ ์ฌ๋ค๋ฆฌ๊ผด ๋ฉด์ ์ผ๋ก ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๊ณ์ฐํ๋ ์ํฐ์์ผ๋ฆฌ์ด์ฑ ๋์คํฐ๋ผ์ด์ ์๋ฆฌ
- AGG Research - Gamma Correction - ์ํฐ์์ผ๋ฆฌ์ด์ฑ ๋ ๋๋ง์์ ๊ฐ๋ง ๋ณด์ ์ด ๊ฒฝ๊ณ ๋๊ป์ ํ์ง์ ๋ฏธ์น๋ ์ํฅ
- AGG Research - Texts Rasterization Exposures - ํฐํธ ๋์คํฐ๋ผ์ด์ง๊ณผ RGB ์๋ธํฝ์ ๋ ๋๋ง ๊ด์ฐฐ์ ์ ๋ฆฌํ ํ ์คํธ ๋ ๋๋ง ์ฐ๊ตฌ
- Optimizing Software Occlusion Culling (Fabian Giesen) - ์์ง ํจ์ ๊ธฐ๋ฐ ์ผ๊ฐํ ๋์คํฐํ์ ์ปค๋ฒ๋ฆฌ์ง ๋ฑ ์ ์์ค ๊ทธ๋ํฝ์ค ์ต์ ํ ์๋ฆฌ์ฆ
- SVG fill-rule: nonzero vs evenodd (MDN) - nonzero(๊ถ์ ์)์ evenodd(ํ์ง) ์ฑ์ฐ๊ธฐ ๊ท์น์ ๋ด๋ถ ํ์ ๋ฐฉ์ ์ฐจ์ด
- Loop & Blinn - Resolution Independent Curve Rendering using Programmable Graphics Hardware (SIGGRAPH 2005) - ํฝ์ ์ ฐ์ด๋๋ก ๊ณก์ ์ ์ํจ์ ๋ด์ธ๋ถ ํ์ ์ ์ํํด ํด์๋ ๋ ๋ฆฝ ๊ณก์ ์ ๋ ๋๋ง
- Loop & Blinn - Rendering Vector Art on the GPU (GPU Gems 3, Ch. 25) - ๋ฒ ์ง์ด ๊ณก์ ์ implicit ํํ๋ก ๋ณํํด GPU ํฝ์ ์ ฐ์ด๋๋ก ๋ ๋๋งํ๋ ์ค๋ฌด ์ฑํฐ
- Green - Improved Alpha-Tested Magnification for Vector Textures and Special Effects (Valve, SIGGRAPH 2007) - ๋ถํธ์๋ ๊ฑฐ๋ฆฌ์ฅ(SDF)์ผ๋ก ์ ํด์๋ ํ ์ค์ฒ๋ฅผ ํ๋ํด๋ ๋งค๋ํ ๊ฒฝ๊ณ๋ฅผ ์ป๋ ๊ธฐ๋ฒ
- Nehab & Hoppe - Random-Access Rendering of General Vector Graphics (SIGGRAPH Asia 2008) - ์ ๊ฒฉ์์ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ์ธ์ฝ๋ฉํด GPU ํฝ์ ์ ฐ์ด๋๋ก ์์ ์ ๊ทผ ๋ฒกํฐ ๊ทธ๋ํฝ์ ๋ ๋๋ง
- Kilgard & Bolz - GPU-accelerated Path Rendering (SIGGRAPH Asia 2012) - ์คํ ์ค ํ ์ปค๋ฒ(Stencil-then-Cover) ๋ฐฉ์์ผ๋ก ๊ฒฝ๋ก ์ฑ์ฐ๊ธฐยท์คํธ๋กํฌ๋ฅผ GPU ๊ฐ์
- Rougier - Shader-Based Antialiased, Dashed, Stroked Polylines (JCGT 2013) - ํ๋๊ทธ๋จผํธ ์ ฐ์ด๋์์ ๋์ ํจํด, ์บก, ์กฐ์ธ์ ์ฒ๋ฆฌํ๋ ์ํฐ์์ผ๋ฆฌ์ด์ฑ ๋๊บผ์ด ํด๋ฆฌ๋ผ์ธ ๋ ๋๋ง
- Ganacim et al. - Massively-Parallel Vector Graphics (SIGGRAPH Asia 2014) - shortcut tree ๊ฐ์ ๊ตฌ์กฐ๋ก ์ํยทํฝ์ ์ ๋๊ท๋ชจ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๋ ๋ฒกํฐ ๊ทธ๋ํฝ ๋์คํฐ๋ผ์ด์ง
- Easy Scalable Text Rendering on the GPU (Evan Wallace) - Figma ๊ณต๋์ฐฝ์ ์๊ฐ ํ ์ค์ฒ ์บ์ ์์ด winding number๋ก ๊ธ๋ฆฌํ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๊ณ์ฐํ๋ ๊ธฐ๋ฒ์ ์ค๋ช (2016)
- GPU text rendering with vector textures (Will Dobbie) - ๊ธ๋ฆฌํ๋ฅผ ๊ฒฉ์๋ก ๋๋ ๊ฐ ์ ์ ๋ฒ ์ง์ด ๊ณก์ ๋ง ์ ์ฅํ๊ณ ํฝ์ ์ ฐ์ด๋์์ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๊ณ์ฐ
- Lengyel - GPU-Centered Font Rendering Directly from Glyph Outlines (JCGT 2017) - ํ ์ค์ฒ๋ SDF ์์ด ๊ธ๋ฆฌํ ์ค๊ณฝ์ ์์ ์ง์ ์ํฐ์์ผ๋ฆฌ์ด์ฑ ํ ์คํธ๋ฅผ ๋ ๋๋งํ๋ Slug ์๊ณ ๋ฆฌ์ฆ
- OpenType specification (Microsoft Typography) - ๊ธ๋ฆฌํ ์ค๊ณฝ์ ๊ณผ ํฐํธ ํ ์ด๋ธ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ OpenType ํฐํธ ํฌ๋งท ๊ณต์ ๋ช ์ธ
- Scalable Vector Graphics (SVG) 1.1 (Second Edition) - W3C - 2D ๋ฒกํฐ ๊ทธ๋ํฝ์ XML๋ก ๊ธฐ์ ํ๋ SVG 1.1 ํ์ค ๊ถ๊ณ ์
- SVG 1.1 - Painting: Filling, Stroking and Marker Symbols - ์ฑ์ฐ๊ธฐยท์คํธ๋กํฌ ๊ท์น๊ณผ nonzero/evenodd ํ์ ์ ๊ท๋ฒ์ ์ผ๋ก ์ ์ํ ์ฅ
- Scalable Vector Graphics (SVG) 2 - W3C - SVG 1.1์ ํ์ฅยท๊ฐ์ ํ ์ฐจ์ธ๋ SVG 2 ๋ช ์ธ (ํ๋ณด ๊ถ๊ณ ์)
- HTML Canvas 2D context - WHATWG - ๊ฒฝ๋กยท์ฑ์ฐ๊ธฐยท์คํธ๋กํฌยทํฉ์ฑ ๋ฑ ์บ๋ฒ์ค 2D ๋ ๋๋ง API๋ฅผ ๊ท์ ํ ๊ณต์ ๋ช ์ธ
- PDF 32000-1:2008 (ISO) - PostScript์์ ์ ๋ํ ํด์๋ ๋ ๋ฆฝ ์ด๋ฏธ์ง ๋ชจ๋ธ์ ์ ์ํ PDF 1.7 ํ์ค ์๋ฌธ
- OpenVG (Khronos) - ํฌ๋ก๋ ธ์ค์ ๋ก์ดํฐ ํ๋ฆฌ 2D ๋ฒกํฐ ๊ทธ๋ํฝ ํ๋์จ์ด ๊ฐ์ ํ์ค API. ์ฌ์ ์์ค๋ ๊ณต์ ์ ์ฅ์์์ ๊ด๋ฆฌ
- Fundamentals of Computer Graphics (Marschner & Shirley) - ๋์คํฐํยท์ํ๋งยท์คํ๋ผ์ธ ๋ฑ ๊ทธ๋ํฝ ๊ธฐ์ด๋ฅผ ๋ค๋ฃจ๋ ํ์ค ๊ต์ฌ
- Computer Graphics: Principles and Practice, 3rd ed. (Hughes, van Dam et al.) - '์ปดํจํฐ ๊ทธ๋ํฝ์ค์ ๋ฐ์ด๋ธ'๋ก ๋ถ๋ฆฌ๋ ์ข ํฉ ํ์ค ๊ต์ฌ
- Real-Time Rendering - ์ค์๊ฐ ๋ ๋๋ง ํ์ค ๊ต์ฌ์ ๊ณต์ ์ฌ์ดํธ. ๋์ ์ ๋ณด, ๊ทธ๋ฆผ ๊ฐค๋ฌ๋ฆฌ, ๊ทธ๋ํฝ ๋ ผ๋ฌธ ํฌํธ
- UC Berkeley CS184/284A - Computer Graphics and Imaging - ๋์คํฐํ, ์ํ๋ง/์์ผ๋ฆฌ์ด์ฑ, ์คํ๋ผ์ธยท๋ฒ ์ง์ด๋ฅผ ๋ค๋ฃจ๋ ๊ฐ์ ์๋ฃ
- CMU 15-462/662 Scotty3D - ์ผ๊ฐํ ๋์คํฐํยท์ํ๋งยท๋ณด๊ฐ์ ์ง์ ๊ตฌํํ๋ ์ปดํจํฐ ๊ทธ๋ํฝ์ค ์ค์ต ํ๋ก์ ํธ ๋ฌธ์
- Li, Hou & Zhou - Efficient GPU Path Rendering Using Scanline Rasterization (SIGGRAPH Asia 2016) - ์ค์บ๋ผ์ธ ๋์คํฐํ๋ฅผ GPU์ ๋ง๊ฒ ์ฌ์ค๊ณํ ๊ฒฝ๊ณ ํ๋๊ทธ๋จผํธ ๊ธฐ๋ฐ ๋ฒกํฐ ๊ฒฝ๋ก ๋ ๋๋ง
- Raph Levien - 2D Graphics on Modern GPU (2019) - GPU ์ปดํจํธ๋ก 2D ๋ฒกํฐ๋ฅผ ์ง์ ๋ ๋๋งํ๋ ์ํคํ ์ฒ ์ ์
- Raph Levien - Fast 2D rendering on GPU (2020) - piet-gpu์ ํ์ผ ๊ธฐ๋ฐ GPU ์ปดํจํธ ํ์ดํ๋ผ์ธ๊ณผ CairoยทPathfinder ๋๋น ์ฑ๋ฅ ์ ๋ฆฌ
- Polar Stroking: New Theory and Methods for Stroking Paths (Kilgard, SIGGRAPH 2020) - ์ ์ ๊ฐ ๊ท ์ผ ์คํ ์ผ๋ก ์คํธ๋กํฌ ์์ญ์ ๊ทผ์ฌํ๋ GPU ์นํ์ ์คํธ๋กํน ์ด๋ก ยท๊ธฐ๋ฒ
- GPU-friendly Stroke Expansion (Levien & Uguray, HPG 2024) - ์คํธ๋กํฌ ํ์ฅ์ GPU ์ปดํจํธ์์ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๋ ์ค์ผ๋ฌ ๋์ ๊ธฐ๋ฐ ๊ธฐ๋ฒ
- Ciallo: GPU-Accelerated Rendering of Vector Brush Strokes (SIGGRAPH 2024) - vanillaยทstampยทairbrush ๋ฒกํฐ ๋ธ๋ฌ์ ์คํธ๋กํฌ์ ์ค์๊ฐ GPU ๊ฐ์ ๋ ๋๋ง
- Warnock: Harnessing GPU Geometry Amplification for Vector Graphics (HPG 2026) - polar stroking์ Mark Kilgard๊ฐ GPU ์ง์ค๋ฉํธ๋ฆฌ ์ฆํญ์ผ๋ก 2D ๋ฒกํฐ ๊ทธ๋ํฝ์ค๋ฅผ ๋ ๋๋งํ๋ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐํ (2026.07)
- Vello - ๋ ๋๋ง ๋จ๊ณ ์ ์ฒด๋ฅผ GPU ์ปดํจํธ ์ ฐ์ด๋๋ก ๋ณ๋ ฌํํ Rust 2D ๋ ๋๋ฌ (piet-gpu์ ํ์ )
- Sparse strip path rendering (vello#670) - Raph Levien์ ์ฐจ์ธ๋ ๊ฒฝ๋ก ๋ ๋๋ง ์ค๊ณ ์ ์. ๊ฒฝ๊ณ ํฝ์ ๋ง ์ํฐ์์ผ๋ฆฌ์ด์ฑํ๊ณ ๋ด๋ถ๋ ํฌ์ํ๊ฒ ํํํ๋ ๋ฐฉ์์ผ๋ก, vello_cpu/vello_hybrid์ ์ด๋ก ์ ํ ๋
- Vello: high performance 2D graphics (RustLab 2023) - ์ปดํจํธ ์ ฐ์ด๋ ํ์ดํ๋ผ์ธ์ผ๋ก ๊ตฌํ๋ Vello์ ๊ธฐ์ ๊ตฌ์กฐ๋ฅผ ๋ค๋ฃฌ Raph Levien ๋ฐํ ์์
- Faster, easier 2D vector rendering (RustWeek 2025) - sparse strips ๊ธฐ๋ฐ ๋ ๋๋ง์ ๋ค๋ฃฌ Raph Levien์ ํ์ ๋ฐํ ์์
- Linebender ๋ธ๋ก๊ทธ - Velloยทsparse stripsยทSIMD ์ธํ๋ผ ์งํ ์ํฉ์ ์ฐ์ฌํ๋ ์๊ฐ ์ ๋ฐ์ดํธ(This Month in Linebender) ๊ณต์ ๋ธ๋ก๊ทธ
- Linebender in 2026 Q1 - Vello Hybrid ๋ฒ ํ ํ์ง ๋๋ฌ, ๊ธ๋ฆฌํ ์บ์ฑ ํฌ๋ ์ดํธ Glifo ์ ์ค, Bevy์ Parley ์ฑํ ๋ฑ 2026๋ 1๋ถ๊ธฐ ๋ํฅ (2026.04)
- Vello ๋ฆด๋ฆฌ์ค - Vello v0.9.0(wgpu 29, VARC ๊ธ๋ฆฌํ)๊ณผ vello_cpuยทvello_hybrid 0.0.9(sparse strips), Glifo 0.1 ๋ฑ 2026๋ Q2 ๋ฆด๋ฆฌ์ค ๋ฌถ์ (2026.05)
- Skia Graphite (Chromium Blog, 2025) - Ganesh๋ฅผ ๋์ฒดํ๋ Skia์ ์ฐจ์ธ๋ GPU ๋ฐฑ์๋. Metal/Vulkan/D3D12๋ฅผ ํ์ฉํด Chrome์ ๋์
- Flutter Impeller - ์ ฐ์ด๋๋ฅผ ๋น๋ ์์ ์ ์ฌ์ ์ปดํ์ผํด ๋ฐํ์ ์ ฐ์ด๋ ์ปดํ์ผ ์ญ์ ์ ๊ฑฐํ Flutter ๋ ๋๋ง ์์ง
- Rive Renderer - now open source (2024) - GPU ์ผ๊ฐํ ๋์คํฐํ๋ก ๋ฒกํฐ ๊ฒฝ๋ก๋ฅผ ๋ ๋๋งํ๋ Rive Renderer ์คํ์์ค ๊ณต๊ฐ
- Reinventing feathering for the Vectorian era (2025) - Clockwise ํ ๊ท์น๊ณผ ์ผ๊ฐํ ์ปค๋ฒ๋ฆฌ์ง ์ํฐ์์ผ๋ฆฌ์ด์ฑ์ ๋ค๋ฃฌ ๋ ๋๋ฌ ์ฌ์ธต ํด์ค
- Spinel (Google Fuchsia) - Vulkan 1.2+ ํ์ผ ๊ธฐ๋ฐ์ผ๋ก ์ ํ์ดํ๋ผ์ธ์ ๋ณ๋ ฌํํ GPU ์ปดํจํธ ๋ฒกํฐ ๊ทธ๋ํฝ ํ์ดํ๋ผ์ธ
2๋ฒ ์น์ ์ AI ์ฐ๊ตฌ ๋ชฉ๋ก์ ๊ตฌํ ์ ์ฅ์๊ฐ ํจ๊ป ์ ๋ฆฌ๋์ด ์์ต๋๋ค.
- VGBench - EMNLP 2024. SVGยทTikZยทGraphviz ๋ฑ ๋ฒกํฐ ๊ทธ๋ํฝ ์ดํดยท์์ฑ ๋ฅ๋ ฅ์ ํ๊ฐํ๋ LLM ๋ฒค์น๋งํฌ (๋ ผ๋ฌธ)
- SVGEditBench - CVPR 2024 ์ํฌ์. LLM์ SVG ํธ์ง ๋ฅ๋ ฅ์ 6๊ฐ ํ์คํฌ๋ก ์ ๋ ํ๊ฐํ๋ ๋ฒค์น๋งํฌ (Twemoji ๊ธฐ๋ฐ)
- SGP-Bench - ICLR 2025 Spotlight. LLM์ด ์ฌ๋ณผ๋ฆญ ๊ทธ๋ํฝ ํ๋ก๊ทธ๋จ(SVGยทCAD)์ ๋ ๋ ์์ด ์ดํดํ๋์ง ํ๊ฐ (๋ ผ๋ฌธ)
- SVGenius - ACM MM 2025. SVG ์ดํดยทํธ์งยท์์ฑ 3๊ฐ ์ฐจ์, 24๊ฐ ๋๋ฉ์ธ 2,377๊ฐ ์ฟผ๋ฆฌ๋ก LLM 22์ข ์ ํ๊ฐํ ์ข ํฉ SVG ๋ฒค์น๋งํฌ
- VectorGym - 2026.03. StarVector ํ(ServiceNow)์ ํ์์. Sketch2SVGยท๋ค๋จ๊ณ ํธ์งยทText2SVGยท์บก์ ๋ 4๊ฐ ํ์คํฌ๋ฅผ ์ ๋ฌธ๊ฐ ์ฃผ์์ผ๋ก ๋ฒค์น๋งํฌํ, ์ปค๋ฆฌํ๋ผ RL๋ก 8B ๋ชจ๋ธ ํ์ต
- Reason-SVG - 2025.05. 'Drawing-with-Thought' ํจ๋ฌ๋ค์๊ณผ GRPO ๊ฐํํ์ต์ผ๋ก LLM์ ๊ตฌ์กฐ์ SVG ์ถ๋ก ์ ๊ฐํ
- SVGThinker - 2025.09. chain-of-thought ์ค๊ฐ ์ถ๋ก ์ผ๋ก ์ง์๋ฅผ ์ ํํ ๋ฐ๋ฅด๋ฉฐ ํธ์งยท๊ณ์ธต ์์ ์ด ๊ฐ๋ฅํ SVG๋ฅผ ์์ฑ
- InternSVG - ICLR 2026. SVG ์ดํดยทํธ์งยท์์ฑ์ ํ๋์ MLLM์ผ๋ก ํตํฉ. ๋๊ท๋ชจ ๋ฐ์ดํฐ์ SAgoge์ ๋ฒค์น๋งํฌ SArena ๊ณต๊ฐ (GitHub)
- DuetSVG - 2025.12 (Adobe). ์ด๋ฏธ์ง ํ ํฐ๊ณผ SVG ํ ํฐ์ ๋์์ ์์ฑํด ๋์ฝ๋ฉ ์ค ์๊ฐ ์ ํธ๋ฅผ ๋ด์ฌํํ๋ ํตํฉ ๋ฉํฐ๋ชจ๋ฌ SVG ์์ฑ
- Vector Prism - 2025.12 (KAIST). ํํธํ๋ SVG ๋ํ์ ์๋ฏธ ๋จ์๋ก ์ฌ๊ตฌ์กฐํํด VLM ๊ธฐ๋ฐ SVG ์ ๋๋ฉ์ด์ ์์ฑ์ ์์ ํ
- VecGlypher - CVPR 2026. ํ ์คํธ ์ค๋ช ยท์ด๋ฏธ์ง ์์๋ก๋ถํฐ ๋์คํฐ ์ค๊ฐ ๋จ๊ณ ์์ด ํธ์ง ๊ฐ๋ฅํ ๋ฒกํฐ ๊ธ๋ฆฌํ(SVG ํจ์ค)๋ฅผ ์ง์ ์์ฑํ๋ ๋ฉํฐ๋ชจ๋ฌ LLM
- IntroSVG - 2026.03. ํ๋์ VLM์ด ์์ฑ์ยท๋นํ์ ์ญํ ์ ๊ฒธํ๋ฉฐ ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ "์์ฑ-๊ฒํ -์์ " ๋ฃจํ๋ฅผ ๋๋ ๋ด์ฑ์ Text-to-SVG
- VFIG - 2026.03. ๊ธฐ์ ๋ํ ๋์คํฐ ์ด๋ฏธ์ง๋ฅผ ํธ์ง ๊ฐ๋ฅํ SVG๋ก ๋ณํํ๋ VLM ํจ๋ฐ๋ฆฌ. 66K figure-SVG ์ ๋ฐ์ดํฐ์ ํฌํจ
- AmodalSVG - 2026.04. VLM ์ ๋ ์๋งจํฑ ๋ ์ด์ด ํ๋ง์ผ๋ก ๊ฐ๋ ค์ง ๋ถ๋ถ๊น์ง ๋ณต์ํ๋ฉฐ ์ด๋ฏธ์ง๋ฅผ ๋ ์ด์ด๋ SVG๋ก ๋ฒกํฐํ
- Render-in-the-Loop - 2026.04. SVG ์ฝ๋๋ฅผ ์ ์ง์ ์ผ๋ก ์บ๋ฒ์ค์ ๋ ๋๋งํ๋ฉฐ ์๊ฐ ํผ๋๋ฐฑ์ ๋ณด๊ณ ๊ทธ๋ฆฌ๋ ์์ฑ ํ๋ ์์ํฌ
- GeoSVG-RL - 2026.05. ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ๊ฒ์ฆ๊ธฐ๊ฐ ๋ ๋๋ง ์ ํจ์ฑยท์ต์ปค ์ ํ๋ ๋ฑ 6๊ฐ ๊ธฐํ ์ฒ๋๋ก ๋ณด์์ ์ฃผ๋ GRPO ๊ฐํํ์ต ๋ค์ด์ด๊ทธ๋จ SVG ์์ฑ
- NIV: Neural Axis Variations for Variable Font Generation - 2026.06. ์ ์ ํฐํธ๋ฅผ weightยทwidthยทslant ์ฐ์ ์ถ์ ๊ฐ์ง ๊ฐ๋ณ ํฐํธ๋ก ์๋ ๋ณํํ๋ ์ ๊ฒฝ๋ง. CJKยท์๊ธ์จ๊น์ง ์ผ๋ฐํ
- Lottie Animation Community (LAC) - Linux Foundation(JDF) ์ฐํ Lottie ํฌ๋งท ํ์คํ ์ปค๋ฎค๋ํฐ ๊ณต์ ์ฌ์ดํธ
- Lottie v1.0 specification ๋ฐํ (Linux Foundation, 2024) - Lottie JSON ํฌ๋งท v1.0 ์ฌ์ ๊ณต๊ฐ. ๊ฐ๋ฐฉํ ํ์คํ ์ด์ ํ
-
dotLottie v1.0 Specification - Lottie JSON๊ณผ ์ด๋ฏธ์ง ์์
์ ZIP(
.lottie) ๋ฒ๋ค๋ก ๋ฌถ๋ ํฌ๋งท ์ฌ์ - CSS Painting API Level 1 - W3C - JS ์ํด๋ฆฟ๊ณผ Canvas 2D๋ก CSS ์ปค์คํ ์ด๋ฏธ์ง๋ฅผ ๊ทธ๋ฆฌ๋ Houdini Paint API ์ฌ์
๋ฒกํฐ ๊ทธ๋ํฝ์ค์ ์ ๋๋ฉ์ด์ ๊ธฐ๋ฒ(๋ชจํ/์ ฐ์ดํ ๋ธ๋ ๋ฉ, ์ค์ผ๋ ํยท์บ๋ฆญํฐยทํ์ ์ ๋๋ฉ์ด์ )๊ณผ 3D ํํ, ๋ฌผ๋ฆฌ ํจ๊ณผ์ ๊ดํ ์๋ฃ์ ๋๋ค. 3D์ ๋ธ๋ ๋ ์ ฐ์ดํ/๋ฒํ ์ค ์ ๋๋ฉ์ด์ ์ ํด๋นํ๋ ๊ฐ๋ ์ด ๋ฒกํฐ ๊ทธ๋ํฝ์ค์์๋ ๊ฒฝ๋ก ์ ์ด์ ๋ณด๊ฐ(์ ฐ์ดํ ์ธํฐํด๋ ์ด์ )์ผ๋ก ๋ํ๋ฉ๋๋ค.
- flubber - ๋์์ ์ด ๋ง์ง ์๋ SVG ๊ฒฝ๋ก/ํด๋ฆฌ๊ณค ์ ์ฌ์ด๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋ณด๊ฐ(๋ชจํ)ํ๋ JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ. d3์ ํจ๊ป ์ฌ์ฉ ๊ฐ๋ฅ, ๋ค์ค ๋ํ ๋ถ๋ฆฌยท๋ณํฉ ์ง์ (2022๋ ์ดํ ์ ๋ฐ์ดํธ ์์)
-
d3-interpolate-path - ์ ๊ฐ์๊ฐ ์๋ก ๋ค๋ฅธ SVG ๊ฒฝ๋ก
d์์ฑ์ ๋ณด๊ฐํ๋ d3 ํ๋ฌ๊ทธ์ธ. De Casteljau ๋ถํ ๋ก ์ ๊ฐ์๋ฅผ ๋ง์ถ ๋ค ๋ณด๊ฐ -
CSS
dํ๋กํผํฐ (MDN) - SVG<path>์d๋ฅผ CSS๋ก ์ง์ ยท์ ํํ๋ ๊ณต์ ๋ฌธ์. ๋ช ๋ น ๊ตฌ์กฐ๊ฐ ๊ฐ์ ๊ฒฝ๋ก๋ผ๋ฆฌ transition์ผ๋ก ๋ชจํํ๋ ์์ ํฌํจ -
SVG
<animate>์์ (MDN) - SVG ์์ฑ๊ฐ์ ์๊ฐ์ ๋ฐ๋ผ ์ ์ธ์ ์ผ๋ก ๋ณด๊ฐํ๋ SMIL ์ ๋๋ฉ์ด์ ์์ ๊ณต์ ๋ ํผ๋ฐ์ค - Lottie ํฌ๋งท ๋ช ์ธ - Properties - Lottie ๊ณต์ ๊ท๊ฒฉ์ ์ ๋๋ฉ์ดํฐ๋ธ ์์ฑ ์ ์. ๋ฒ ์ง์ด ์ ฐ์ดํ ํคํ๋ ์๊ณผ ์ด์ง ํธ๋ค ๊ธฐ๋ฐ ๊ฒฝ๋ก ๋ชจํ์ ํฌ๋งท ์ฐจ์์์ ์ง์
- Pose Animator - TensorFlow.js์ PoseNetยทFaceMesh๋ก ์น์บ ์์ ๋ชธยท์ผ๊ตด์ ์ถ์ ํด SVG ๋ฒกํฐ ์บ๋ฆญํฐ์ ๋ณธ(bone) ๊ณ์ธต์ ์ค์๊ฐ์ผ๋ก ์์ง์ด๋ ๋ธ๋ผ์ฐ์ ๋ฐ๋ชจ. ํ์ (์ผ๊ตด ๋ฉ์) ์ถ์ ํฌํจ (์ ์ง๋ณด์ ์ค๋จ)
- Synfig ๊ณต์ ๋งค๋ด์ผ - Skeleton Layer - Synfig ๋ณธ ์์คํ ๊ณต์ ๋ฌธ์. ๋ถ๋ชจ-์์ ๋ณธ ๊ณ์ธต์ ๋ฒกํฐ ์ ์ ์ ์ฐ๊ฒฐ(Link to Bone/Skeleton)ํด ์ปท์์ ์ ๋๋ฉ์ด์ ๊ตฌํ
- Rive ๊ณต์ ๋ฌธ์ - Bones - ๋ณธ ์์ฑยท์ฒด์ธ ๊ตฌ์ฑ๊ณผ ๋ฒกํฐ ๊ฒฝ๋ก ๋ฐ์ธ๋ฉ ๋ฌธ์. ์ ์ ๋ณ ๋ณธ ๊ฐ์ค์น๋ก ๋ฒกํฐ ์ ฐ์ดํ๋ฅผ ์ค์ผ๋ ํ ๋ณํ
- Rive ๊ณต์ ๋ฌธ์ - Constraints - IKยท๊ฑฐ๋ฆฌยทํธ๋์คํผ ๋ฑ 6์ข ์ ์ฝ์ผ๋ก ๋ฆฌ๊น ์ ์ ์ดํ๋ ๋ฌธ์. ์์ ์ถ์ , ๋ฐ ๊ณ ์ (IK) ๋ฑ ์บ๋ฆญํฐ ๋ฆฌ๊น ์์ ํฌํจ
- enve - ๋ฒกํฐยท๋์คํฐ๋ฅผ ํจ๊ป ๋ค๋ฃจ๋ ์คํ์์ค 2D ์ ๋๋ฉ์ด์ ์ฑ (C++, GPL-3.0). 2026๋ 2์ ์์นด์ด๋ธ๋จ
- VPaint - Vector Animation Complex ์ฐ๊ตฌ๋ฅผ ๊ตฌํํ ์คํ์ ๋ฒกํฐ ๋๋ก์ยท2D ์ ๋๋ฉ์ด์ ์๋ํฐ. ํด์๋ ๋ ๋ฆฝ ๋๋ก์๊ณผ ์ ๋๋ฉ์ด์ ์ง์ (์ฐ๊ตฌ์ฉ ๋ฒ ํ)
- VGC - VPaint ๊ฐ๋ฐ์์ ํ์ ํ๋ก์ ํธ (vgc.io, Apache-2.0). ์ ยท๋ฉด์ ์ฐ๊ฒฐ์ฑ์ ๊ณต๊ฐยท์๊ฐ ์์ชฝ์์ ์ ์งํด ํธ์ง๊ณผ ์ธ๋นํธ์๋์ ๋น ๋ฅด๊ฒ ํ๋ ๊ฒ์ด ๋ชฉํ (์ํ)
- Ruffle - Rust๋ก ์์ฑ๋ Adobe Flash Player ์๋ฎฌ๋ ์ดํฐ. ๊ณ ์ ๋ฒกํฐ ์ ๋๋ฉ์ด์ ํฌ๋งท SWF(์ ฐ์ดํ ํธ์ ํฌํจ)๋ฅผ ๋ฐ์คํฌํฑ๊ณผ ์น(WASM)์์ ์ฌ์
- A Physically Based Approach to 2-D Shape Blending (SIGGRAPH 1992) - Sederberg & Greenwood. ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๋ณํ ์๋์ง ์ต์ํ๋ก ๋ 2D ์ ฐ์ดํ์ ์ ์ ๋์์ ๊ตฌํ๋ ์ ฐ์ดํ ๋ธ๋ ๋ฉ ๊ณ ์ ๋ ผ๋ฌธ
- As-Rigid-As-Possible Shape Interpolation (SIGGRAPH 2000) - Alexa, Cohen-Or & Levin. ๋ณด๊ฐ ์ค๊ฐ ํํ๊ฐ ์ต๋ํ ๊ฐ์ฒด์ ๊ฐ๊น๊ฒ ์ ์ง๋๋ ARAP ์ ฐ์ดํ ๋ณด๊ฐ์ ์์กฐ ๋ ผ๋ฌธ
- As-Rigid-As-Possible Shape Manipulation (SIGGRAPH 2005) - Igarashi, Moscovich & Hughes. ์ค์ผ๋ ํค ์์ด ํธ๋ค ๋๋๊ทธ๋ง์ผ๋ก 2D ์ ฐ์ดํ๋ฅผ ๊ฐ์ฒด์ฑ ๋ณด์กด ๋ณํํ๋ ์ค์๊ฐ ๊ธฐ๋ฒ (์ ์ ๊ณต์ ํ์ด์ง)
- Vector Animation Complex (SIGGRAPH 2015) - Dalstein, Ronfard & van de Panne. ๋ํ์ด ์๊ฐ์ ๋ฐ๋ผ ํฉ์ณ์ง๊ณ ๊ฐ๋ผ์ง๋ ์์ ๋ณํ๋ฅผ ํคํ๋ ์์ผ๋ก ๋ค๋ฃจ๋ ๋ฒกํฐ ์ ๋๋ฉ์ด์ ์๋ฃ๊ตฌ์กฐ. VPaint/VGC์ ์ด๋ก ์ ๊ธฐ๋ฐ
- three.js SVGLoader - SVG ๊ฒฝ๋ก๋ฅผ ํ์ฑํด three.js Shape๋ก ๋ณํํ๋ ๊ณต์ ๋ก๋. ExtrudeGeometry์ ์กฐํฉํด 2D ๋ฒกํฐ๋ฅผ 3D ์ฌ์ ๋ฐฐ์นํ๊ฑฐ๋ ๋์ถ ๊ฐ๋ฅ
- three.js SVG ๋ก๋ ๊ณต์ ์์ - SVG ํ์ผ์ WebGL ์ฌ ์์ ๋ฒกํฐ ์ ฐ์ดํ ๋ฉ์๋ก ๋ ๋๋งํ๋ ๊ณต์ ๋ฐ๋ชจ
- svg-mesh-3d - SVG path ๋ฌธ์์ด์ ์ผ๊ฐ๋ถํ ๋ 3D ๋ฉ์๋ก ๋ณํํ๋ JS ๋ชจ๋. three.jsยทstackgl์์ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- Blender ๋งค๋ด์ผ: SVG ์ํฌํธ - SVG๋ฅผ ์ปค๋ธ ์ค๋ธ์ ํธ๋ก ๊ฐ์ ธ์ค๋ ๊ณต์ ๋ฌธ์. ๊ฐ์ ธ์จ ์ปค๋ธ๋ฅผ ๋์ถ์์ผ 3D ๋ชจ๋ธ๋ก ๋ง๋๋ ํ์ค ์ํฌํ๋ก์ ์ถ๋ฐ์
- Blender ๋งค๋ด์ผ: Grease Pencil - ์คํธ๋กํฌ๋ฅผ 3D ๊ณต๊ฐ์ ๋ฐฐ์นํ๋ ๋๋ก์ ์ค๋ธ์ ํธ. 2D ์ ๋๋ฉ์ด์ ยท๋ชจ์ ๊ทธ๋ํฝ์ด 3D ์ฌ ์์ ๊ณต์กดํ๋ ๋ํ ์ฌ๋ก
- Robust Planar Maps for 3D Vectorization (SIGGRAPH 2026 Best Paper) - CMU Fuchs & Crane. 3D ์ฅ๋ฉด์ ๊ฒน์นจ ์๋ 2D ๋ฒกํฐ ์ด๋ฏธ์ง(SVG)๋ก ๋ณํํ๊ธฐ ์ํ planar map์ ๊ฐ๊ฑดยท๊ณ ์์ผ๋ก ๊ตฌ์ถํ๋ ๊ธฐ๋ฒ (2026.05)
๋ฒกํฐ/2D ์ฅ๋ฉด์ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๋ชจ์ ์ ๋ํ ๋ ์ฐ๋ ์์ง๊ณผ ๊ธฐ๋ฒ์ ๋๋ค.
- Box2D - Erin Catto์ ๊ฒ์์ฉ 2D ๋ฌผ๋ฆฌ ์์ง ์ฌ์ค์ ํ์ค. ๊ฐ์ฒดยท์กฐ์ธํธยท์ถฉ๋ ๊ฐ์ง ์ ๊ณต (C, MIT)
-
Rapier - Rust๋ก ์์ฑ๋ ์ฑ๋ฅ ์ค์ฌ 2D/3D ๋ฌผ๋ฆฌ ์์ง. 2D์ฉ
rapier2dํฌ๋ ์ดํธ ๋ณ๋ ์ ๊ณต - Matter.js - ์น์ฉ JavaScript 2D ๊ฐ์ฒด ๋ฌผ๋ฆฌ ์์ง. ๋ด์ฅ Canvas ๋ ๋๋ฌ๋ก ์๋ฎฌ๋ ์ด์ ์ ๋ฐ๋ก ๊ทธ๋ฆด ์ ์์
- Planck.js - Box2D๋ฅผ JavaScript/TypeScript๋ก ์ฌ์์ฑํ HTML5์ฉ 2D ๋ฌผ๋ฆฌ ์์ง
- Position Based Dynamics (VRIPhys 2006) - Mรผller ๋ฑ. ํ/์๋ ๋์ ์์น๋ฅผ ์ง์ ํฌ์ํด ์ฒยท์ฐ์ฒด ๋ฑ์ ์์ ์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ํ๋ ๊ธฐ๋ฒ. ์ค์๊ฐ ๊ทธ๋ํฝ์ค ๋ฌผ๋ฆฌ์ ๊ธฐ๋ฐ ๋ ผ๋ฌธ
- Rive Scripting - Rive ๊ณต์ ๋ธ๋ก๊ทธ(2026.01). ์คํฌ๋ฆฝํ ์ผ๋ก ์ค๋ ฅยท์ถฉ๋ยท๊ด์ฑยท์คํ๋ง ์ ์ฝยท์ธ์ปจ๋๋ฆฌ ๋ชจ์ ๋ฑ ๋ฌผ๋ฆฌ ํจ๊ณผ๋ฅผ ๋ฒกํฐ ์ ๋๋ฉ์ด์ ์ ๊ตฌํํ ์ ์์์ ์๊ฐ