Перейти к содержанию

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

Внешние ссылки[править | править код]

Ссылки[править | править код]