Slug Library
Библиотека Slug
Библиотека Slug — это промежуточная библиотека, разработанная компанией Terathon Software для динамического рендеринга высококачественного, независимого от разрешения текста и векторной графики на основе GPU. Она в основном используется в 3D-приложениях, таких как видеоигры, виртуальные среды и графические пользовательские интерфейсы, для обработки рендеринга шрифтов и компоновки текста. Библиотека использует новый математический алгоритм для рендеринга сглаженных глифов и фигур непосредственно из контуров кривых Безье, без использования предварительно вычисленных текстур или полей знаковых расстояний.
История[править | править код]
Библиотека Slug была создана Эриком Ленджилом, основателем Terathon Software, с основной идеей, возникшей в 2016 году. Название "Slug" происходит из типографской терминологии, обозначая строку текста, отлитую как единый кусок расплавленного свинца в традиционных печатных прессах, что отражает фокус библиотеки на компоновке и рендеринге текста. Изначально разработанная для рендеринга текста, она позже была расширена для поддержки произвольной векторной графики.
Основная технология была подробно описана в статье Ленджила 2017 года "Рендеринг шрифтов на GPU непосредственно из контуров глифов", опубликованной в "Journal of Computer Graphics Techniques". В статье представлен новый подход на основе шейдеров для надежного вычисления чисел намотки в произвольных точках внутри глифа, что обеспечивает эффективный рендеринг на GPU без артефактов. Работа также была включена в программу симпозиума ACM SIGGRAPH по интерактивной 3D-графике и играм (I3D) в 2018 году. Алгоритм, описанный в этих публикациях, в настоящее время запатентован.
К 2022 году библиотека была лицензирована многочисленным крупным компаниям в различных отраслях программного обеспечения и стала стандартной технологией в индустрии компьютерных игр. Она широко считается передовым решением для рендеринга текста в игровых движках.
Slug также была интегрирована в Unreal Engine.
Возможности[править | править код]
Библиотека Slug предоставляет ряд возможностей для рендеринга текста и графики:
- Рендеринг на GPU: Рендерит фигуры непосредственно на GPU из квадратичных кривых Безье, создавая сглаженные результаты без артефактов при увеличении или уменьшении.
- Компоновка текста: Обрабатывает строки в кодировке Unicode (UTF-8), включая кернинг, лигатуры, диакритические знаки, композицию символов и функции OpenType, такие как стилистические альтернативы и капитель.
- Эмодзи: Поддерживает рендеринг полноцветных эмодзи с независимостью от разрешения, включая модификаторы тона кожи и ZWJ-последовательности.
- Векторная графика: Расширяется за пределы текста для рендеринга произвольных заливок и обводок.
- Поддержка платформ: Прямо поддерживает несколько графических API (Vulkan, Direct3D, OpenGL, Metal) и операционных систем (Microsoft Windows, macOS, Linux, PlayStation, Xbox).
- Инструменты: Включает инструменты для преобразования шрифтов TrueType (.ttf) и OpenType (.otf), а также файлов SVG в формат Slug.
Библиотека распространяется как статическая библиотека C++ с полным исходным кодом.
Известные лицензиаты[править | править код]
- 2K Games
- Activision
- Adobe Inc. (Substance 3D Modeler)
- Blizzard Entertainment
- Derivative Inc. (TouchDesigner)
- Fatshark
- Firaxis Games
- Hexagon AB
- id Software (DOOM: The Dark Ages)
- Insomniac Games
- Invideo
- Marmoset Toolbag
- Notch
- Quantic Dream
- That Game Company
- Treyarch
- Ubisoft
- Warner Bros. Games
- Wonderland Engine
- WSC Sports
- Zeiss
- ZeniMax Online Studios
Внешние ссылки[править | править код]
Ссылки[править | править код]
- https://sluglibrary.com/
- https://jcgt.org/published/0006/02/02/
- https://jcgt.org/news/2018-03-01-JCGTatI3D.html}}
- https://codeartworks.com/2023/05/23/rendering-scalable-vector-text-in-unreal-engine/
- https://www.mmo-champion.com/content/10805-Dragonflight-Alpha-Slug-Library-Diablo-IV-Quarterly-Update-August-2022
- https://derivative.ca/UserGuide/Slug_Library/
- https://www.linkedin.com/posts/eric-lengyel_all-the-beautiful-font-rendering-and-exquisite-activity-7336478893861720064-k_Ql/
- https://wonderlandengine.com/showcase/text/
- https://jcgt.org/news/2018-03-01-JCGTatI3D.html