The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Консорциум Khronos взял в свои руки разработку открытого компилятора шейдеров Slang

22.11.2024 22:25

Компания NVIDIA передала язык шейдеров Slang и связанный с ним компилятор под покровительство консорциума Khronos, занимающегося разработкой графических стандартов. Предполагается, что разработка проекта Slang на независимой площадке Khronos позволит привлечь в проект новых участников. Язык создан как совместный проект NVIDIA и ведущих университетов США (Университет Карнеги-Меллона, Стэнфордфордский университет, Массачусетский технологический институт, Калифорнийский университет в Сан-Диего и Вашингтонский университет). О поддержке нового совместного проекта заявили компании Autodesk, Adobe, id Software, Igalia и Valve. Код компилятора написан на языке C++ и открыт под лицензией Apache 2.0. Компилятором поддерживаются платформы Linux, Windows, macOS и WebAssembly.

Язык Slang по синтаксису очень близок к языку HLSL, применяемому в Direct3D, и примечателен поддержкой модулей, дженериков и интерфейсов для упрощения сопровождения и разработки больших кодовых баз, а также ориентацией на достижение максимальной производительности и использование в приложениях, выполняющих отрисовку в реальном времени. Из дополнительных возможностей отмечается поддержка расширений для использования графических шейдеров для вычислений, связанных с машинным обучением и автоматическим дифференцированием.

Компилятор развивается в соответствии с парадигмой - "написал шейдер один раз, запускай где угодно", и позволяет преобразовывать шейдеры, написанные на языках Slang, HLSL (High-Level Shader Language) и GLSL (OpenGL Shading Language) в представление для графических API Direct3D 11/12, Vulkan, Metal, OpenGL, WebGPU, OptiX и CUDA, а также в машинный код, способный выполняться на обычном CPU. Помимо компиляции шейдеров в бинарное представление Slang позволяет генерировать на выходе текстовый исходный код на языках C++, MSL (Metal Shading Language) и CUDA, сохраняющий изначальное наименование идентификаторов и структуру вызовов.

Помимо языка Slang компилятор может использоваться для сборки большей части уже существующего кода на языке HLSL без внесения в него изменений или ограничиваясь незначительными правками (например, компания Valve смогла скомпилировать в Slang все HLSL-шейдеры игры Source 2, изменив всего 10 строк кода). Для компиляции GLSL представляется отдельный модуль, поддерживающий большинство внутренних функций и элементов синтаксиса GLSL. При компиляции можно настраивать параметры генерируемого кода, например, можно формировать как максимально переносимый код, так и код использующих новые возможности из свежих спецификаций Direct3D и Vulkan.

Дополнительно представлен новый выпуск Slang 2024.14.5, в котором появились такие возможности, как новый тип Atomic<T> для выполнения атомарных операций, выражение "where", интерфейс IFunc для написания обобщённых функций, типы Tuple для хранения коллекций значений с разными типами, обобщенные типы с переменным количеством параметров, поддержка Unicode, бэкенды для языков шейдеров Metal и WGSL (применяется в WebGPU). Представлена написанная на Slang реализация растеризатора, поддерживающего технику 3D-рендеринга Gaussian Splatting. Подготовлена online-среда для экспериментов и компиляции из браузера.

  1. Главная ссылка к новости (https://www.khronos.org/news/p...)
  2. OpenNews: Проект ZLUDA продолжит развитие в форме универсальной реализации CUDA
  3. OpenNews: Проект LibreCUDA для запуска кода CUDA на GPU NVIDIA без проприетарного Runtime
  4. OpenNews: Google открыл код системы компиляции графических шейдеров для API Vulkan
  5. OpenNews: Компания Valve открыла новый компилятор шейдеров для GPU AMD
  6. OpenNews: Представлен Rust GPU, инструментарий для разработки шейдеров на языке Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62279-slang
Ключевые слова: slang, shader, khronos, nvidia
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:01, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > написал шейдер один раз, запускай где угодно

    Написал шейдер один раз, теперь отлаживай везде.

     
     
  • 2.13, Аноним (13), 00:58, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну так чему и научила Java. Ага, один раз и везде, щаз.
     

  • 1.2, Аноним (2), 23:03, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это то самое которая в сталкере 2 используется?
     
     
  • 2.5, Аноним (-), 23:21, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, там чето долго.

    И вот что я понять не могу, - а почему 160 гб? Как бы не жалко, но ведь много же?

     
     
  • 3.7, Аноним (7), 00:01, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Стоковые ассеты забыли удалить. Ну и там сжатие бывает что в 20 раз можно сжать без ухищрений. Обычное дело.
     
     
  • 4.8, Аноним (8), 00:05, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Репак — 130 с чем-то гигабайт. Видимо, не шибко-то жмётся.
     

  • 1.6, Аноним (7), 23:42, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Приходится завязываться на shaderc, который является обёрткой, потому что glslang такое кривое дерьмище, отваливающееся в каждом обновлении. Сабж тоже угробят.
     
     
  • 2.10, Аноним (10), 00:28, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нужен 16-ый стандарт.
     

  • 1.9, Аноним (10), 00:27, 23/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нвидия режет Косты денег им мало. И так уже дороже апле, но нет надо больше золото. Все эти сказки про привлечение пользователей и независимые площадки мы слышали много раз.
     
  • 1.11, Аноним (11), 00:28, 23/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Компания NVIDIA передала язык шейдеров Slang и связанный с ним >компилятор

       В английском языке слова закончились, или студенты про Slang не слышали? Или тут типа с большой буквы :)

     
     
  • 2.12, Аноним (12), 00:40, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    думаю это от S(hader) Lang(uage)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру