Skip to content

Vector Graphics Resources

NSG edited this page Jul 12, 2026 · 2 revisions

Vector Graphics Resources

์˜คํ”ˆ์†Œ์Šค ์ฝ”์–ด ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ œํ’ˆ๊ณผ ์—ฐ๊ตฌ, ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๊ธฐ์ˆ ์˜ ๊ธฐ์ดˆยท์ตœ์‹  ์ž๋ฃŒ, ๊ทธ๋ฆฌ๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜(๋ชจํ•‘ยท์Šค์ผˆ๋ ˆํƒˆ)ยท3D ํ‘œํ˜„ยท๋ฌผ๋ฆฌ ํšจ๊ณผ ์ž๋ฃŒ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

ThorVG ์ž์ฒด์— ๋Œ€ํ•œ ์ž๋ฃŒ๋Š” ThorVG Resources์— ๋ณ„๋„๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


1. Core Vector Graphics Libraries

๋“œ๋กœ์ž‰, SVG, Lottie, Rive ๋“ฑ์„ ๋ Œ๋”๋งํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์ฝ”์–ด ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Skia

  • 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

  • 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

  • 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

  • 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-cpp C++ ๋Ÿฐํƒ€์ž„์˜ ๋ ˆ๊ฑฐ์‹œ ์ €์žฅ์†Œ
  • 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 ๋Ÿฐํƒ€์ž„

Vello์™€ Linebender ์ƒํƒœ๊ณ„

  • 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 ์—ฐ๋™์„ ๊ธฐ๋ณธ ์ œ๊ณต

๊ทธ ์™ธ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (C/C++)

  • 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 ํˆดํ‚ท

๊ทธ ์™ธ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Rust)

  • 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 ์„œํ”ผ์Šค์— ๋ Œ๋”๋ง

๊ทธ ์™ธ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Go / JavaScript / ๊ธฐํƒ€)

  • 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 ๋ผ๋ฒจ ์กฐํŒ์„ ์ง€์›ํ•˜๋Š” ์ˆ˜ํ•™/๊ธฐ์ˆ  ๋„๋ฉด์šฉ ์„œ์ˆ ํ˜• ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์–ธ์–ด

์ž์ฒด ๋ฒกํ„ฐ ๋ Œ๋”๋Ÿฌ๋ฅผ ๋‚ด์žฅํ•œ UI ํ”„๋ ˆ์ž„์›Œํฌ

  • 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++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๊ตฌ๋ฉยท์Šคํƒ€์ด๋„ˆ ์ ์ด ์žˆ๋Š” ๋‹จ์ˆœ ๋‹ค๊ฐํ˜•์„ ์‚ผ๊ฐ๋ถ„ํ• 

2. Products and Research Using Core Vector Graphics Libraries

๊ฐ ํ•ญ๋ชฉ์—๋Š” ํ™•์ธ๋œ ๋ฒ”์œ„ ๋‚ด์—์„œ ์–ด๋–ค ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(๋ Œ๋”๋Ÿฌ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ•จ๊ป˜ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

2-1. AI ยท ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ์—ฐ๊ตฌ (GitHub)

๋ฏธ๋ถ„๊ฐ€๋Šฅ ๋ Œ๋”๋ง๊ณผ ๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ

  • 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 ํŠธ๋ ˆ์ด์‹ฑ)

์ด๋ฏธ์ง€ ๋ฒกํ„ฐํ™” (Raster โ†’ Vector)

  • 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 ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์ถ•. ์ฝ”๋“œ ๋ฏธ๊ณต๊ฐœ

LLM ์—์ด์ „ํŠธ ยท ์Šคํ‚ฌ ยท MCP ์„œ๋ฒ„

์ฝ”๋”ฉ ์—์ด์ „ํŠธ(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 ์„œ๋ฒ„ (์ƒ์„ฑ์ด ์•„๋‹Œ ์—์…‹ ํƒ์ƒ‰์šฉ)

2-2. ์‹ค์ œ ์ œํ’ˆ โ€” ๋ฐ์Šคํฌํ†ฑ ์…ธ ยท ์œ„์ ฏ ์‹œ์Šคํ…œ

์…ธ์ด๋‚˜ ๋ฐ” ์ž์ฒด๋Š” ๋ฒกํ„ฐ ํฌ๋งท์„ ๋‹ค๋ฃจ์ง€ ์•Š์ง€๋งŒ, ํ™”๋ฉด์— ๊ทธ๋ฆฌ๋Š” ์ผ์€ Cairo, Qt Quick ์”ฌ๊ทธ๋ž˜ํ”„, GTK/GSK ๊ฐ™์€ ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ์Šคํƒ์— ์œ„์ž„ํ•˜๋Š” ์ œํ’ˆ๋“ค์ž…๋‹ˆ๋‹ค.

Cairo ๊ธฐ๋ฐ˜

  • 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๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ฐ์Šคํฌํ†ฑ ๋…

Qt Quick ๊ธฐ๋ฐ˜ (Quickshell ๊ณ„์—ด)

  • 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 ์”ฌ๊ทธ๋ž˜ํ”„๋กœ ๋ Œ๋”๋ง

GTK ๊ธฐ๋ฐ˜

  • 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)

2-3. ์‹ค์ œ ์ œํ’ˆ โ€” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ยท ๋ฌธ์„œ ยท ์‹œ๊ฐํ™” (Cairo ๊ธฐ๋ฐ˜)

  • 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 ๋ธ”๋กœ๊ทธ

2-4. ์‹ค์ œ ์ œํ’ˆ โ€” ๋ธŒ๋ผ์šฐ์ € ยท UI ํ”„๋ ˆ์ž„์›Œํฌ (Skia ๊ธฐ๋ฐ˜)

  • 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 ๊ฐ€์† ๋ Œ๋”๋ง

2-5. ์‹ค์ œ ์ œํ’ˆ โ€” Blend2D ยท Rive ยท ThorVG ยท Vello ์ฑ„ํƒ ์‚ฌ๋ก€

Blend2D

  • 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

  • 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

  • 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๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ

Vello

  • 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 ์‚ฌ์šฉ

2-6. ์˜คํ”ˆ์†Œ์Šค ๊ทธ๋ž˜ํ”ฝ์Šค ํˆด

  • 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 ๋ Œ๋”๋ง ๋ชจ๋“ˆ ํฌํ•จ

2-7. ๋ฒกํ„ฐ ๋ Œ๋”๋ง์„ ํ™œ์šฉํ•˜๋Š” ์ง€๋„ ยท ์‹œ๊ฐํ™” ยท ๋‹ค์ด์–ด๊ทธ๋žจ

  • 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๋กœ ๋ Œ๋”๋ง

2-8. ๋ฌธ์„œ ยท ์กฐํŒ ยท PDF ๋ Œ๋”๋ง

  • Typst - LaTeX ๋Œ€์•ˆ์„ ํ‘œ๋ฐฉํ•˜๋Š” ๋งˆํฌ์—… ์กฐํŒ ์‹œ์Šคํ…œ. ๋ž˜์Šคํ„ฐ ์ถœ๋ ฅ์€ typst-render ํฌ๋ ˆ์ดํŠธ๊ฐ€ tiny-skia(+resvg)๋กœ ์ฒ˜๋ฆฌ
  • PDF.js - Mozilla์˜ ์›น ํ‘œ์ค€ ๊ธฐ๋ฐ˜ PDF ๋ Œ๋”๋ง ํ”Œ๋žซํผ. PDF ํŽ˜์ด์ง€์˜ ๋ฒกํ„ฐ ์ฝ˜ํ…์ธ ๋ฅผ HTML Canvas 2D์— ๋ Œ๋”๋ง
  • PDFium - Chromium์˜ PDF ํŒŒ์‹ฑยท๋ž˜์Šคํ„ฐ๋ผ์ด์ฆˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๊ทธ๋ž˜ํ”ฝ ์—”์ง„์— AGG ๊ธฐ๋ฐ˜ ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋‚ด์žฅ

3. Foundations โ€” ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๊ธฐ์ˆ  ์†Œ๊ฐœ ์ž๋ฃŒ

๋น„๊ต์  ์˜ค๋ž˜๋˜์—ˆ์ง€๋งŒ ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์˜ ๊ทผ๋ณธ์ ์ธ ์›๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ž๋ฃŒ๋“ค์ž…๋‹ˆ๋‹ค.

๊ณก์„ ๊ณผ ๊ธฐํ•˜

  • 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(ํ™€์ง) ์ฑ„์šฐ๊ธฐ ๊ทœ์น™์˜ ๋‚ด๋ถ€ ํŒ์ • ๋ฐฉ์‹ ์ฐจ์ด

๊ณ ์ „ GPU ๊ฒฝ๋กœ ๋ Œ๋”๋ง ๋…ผ๋ฌธ

ํ…์ŠคํŠธ ยท ๊ธ€๋ฆฌํ”„ ๋ Œ๋”๋ง

  • 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 - ์‚ผ๊ฐํ˜• ๋ž˜์Šคํ„ฐํ™”ยท์ƒ˜ํ”Œ๋งยท๋ณด๊ฐ„์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ์‹ค์Šต ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ

4. Modern Research โ€” ์ตœ์‹  ๊ธฐ์ˆ  ์—ฐ๊ตฌ ์ž๋ฃŒ

GPU ๋ฒกํ„ฐ ๋ Œ๋”๋ง (2016~)

์ตœ์‹  ๋ Œ๋”๋Ÿฌ ์•„ํ‚คํ…์ฒ˜

  • 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 ์ปดํ“จํŠธ ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ ํŒŒ์ดํ”„๋ผ์ธ

AI ์ตœ์‹  ๋™ํ–ฅ ยท ๋ฒค์น˜๋งˆํฌ

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 ๋ชจ๋ธ ํ•™์Šต

2025-2026 ์ตœ์‹  ์—ฐ๊ตฌ

  • 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 ์‚ฌ์–‘

5. Vector Animation & Beyond โ€” ๋ชจํ•‘ ยท ์Šค์ผˆ๋ ˆํƒˆ ยท 3D ยท ๋ฌผ๋ฆฌ

๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ธฐ๋ฒ•(๋ชจํ•‘/์…ฐ์ดํ”„ ๋ธ”๋ Œ๋”ฉ, ์Šค์ผˆ๋ ˆํƒˆยท์บ๋ฆญํ„ฐยทํ‘œ์ • ์• ๋‹ˆ๋ฉ”์ด์…˜)๊ณผ 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์˜ ์ด๋ก ์  ๊ธฐ๋ฐ˜

๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์˜ 3D ํ‘œํ˜„

  • 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). ์Šคํฌ๋ฆฝํŒ…์œผ๋กœ ์ค‘๋ ฅยท์ถฉ๋Œยท๊ด€์„ฑยท์Šคํ”„๋ง ์ œ์•ฝยท์„ธ์ปจ๋”๋ฆฌ ๋ชจ์…˜ ๋“ฑ ๋ฌผ๋ฆฌ ํšจ๊ณผ๋ฅผ ๋ฒกํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์— ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Œ์„ ์†Œ๊ฐœ

Clone this wiki locally