URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 110245
[ Назад ]

Исходное сообщение
"Microsoft открыл код DirectX Shader Compiler"

Отправлено opennews , 24-Янв-17 12:51 
Компания Microsoft объявила (https://blogs.msdn.microsoft.com/directx/2017/01/23/new-dire... об открытии компилятора шейдеров  DirectX Shader Compiler, предназначенного для трансляции шейдеров на языке HLSL (https://ru.wikipedia.org/wiki/HLSL) (High-Level Shader Language, присутствует начиная с DirectX 9.0) в новый бинарный формат DXIL (DirectX Intermediate Language), поддерживаемый в DirectX 12. Код открыт (https://github.com/Microsoft/DirectXShaderCompiler) под лицензией MIT и реализован в форме модифицированной версии LLVM/Clang.


Для сообщества проект представляет интерес как отправная точка для создания трансляторов с HLSL/DXIL на языки GLSL и SPIR-V, чему способствует наличие готовых компонентов для трансляции в промежуточное представление LLVM. Код также может быть использован проектом Wine в бэкенде Gallium3D (state tracker) с реализацией DirectX 12.

URL: https://blogs.msdn.microsoft.com/directx/2017/01/23/new-dire.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=45907


Содержание

Сообщения в этом обсуждении
"Microsoft открыл код DirectX Shader Compiler"
Отправлено dimqua , 24-Янв-17 12:52 
С паршивой овцы хоть шерсти клок.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Gemorroj , 24-Янв-17 12:55 
Современный

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 16:04 
Почти половина текста там на твёрдость-мягкость, о которой многие носители языка не знают.

В русском огромное значение имеет твёрдость и мягкость, отсутствующая в других языках, вкл. некоторые славянские.

Правила несложные, но то, что буква может произноситься двумя разными вариантами - это большая сложность для изучающих язык.

И, к огромному сожалению, русский язык здесь не помощник. В добавлении к этому, мягкость может меняться. Напр. "солнце" - "л" не читается, пишем мягкую "е", читаем твёрдую "э". "Солнечный" - читаются все буквы, но твёрдая "э" заменилась на мягкую "е".

И таких примеров-исключений вагон и тележка.

Многие реформы предлагали зафиксировать наконец эту разницу в языке, но тогда к чертям летит грамматика: напр. солнцЕ - солнЕчный. Сейчас эта буква проверяется через однокоренные слова, а если принять реформу, то придётся изучать твёрдость-мягкость на уроках русского языка и это станет немалой головной болью для очень многих.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 16:34 
Можно подумать, в других языках нет исключений и всякого legacy.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 16:41 
Их ошибки не оправдывают наших.

Если половина ошибок носителей языка на Н и НН, значит от этого нужно избавиться.

Если половина ошибок изучающих русский язык на мягкость-твёрдость, значит необходимо отмечать мягкость и твёрдость в учебных материалах и адаптированных книгах. А, возможно, даже в надписях, которые могут читать иностранцы. Напр. на остановках автобуса, на ж/д вокзалах, в аэропортах.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 18:01 
это потому, что вайн как бы уже готов к проглатыванию этого кода, не раньше ни позже...но все равно МС+ за это.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Штунц , 24-Янв-17 13:15 
Интересно, что Microsoft, столько лет производящая языки компиляторы, воспользовалась LLVM/Clang. Видимо, они изначально планировали код открыть.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 14:35 
А не они ли одни из продвигающих LLVM?

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 14:38 
> А не они ли одни из продвигающих LLVM?

Не перепутал с Эпплом...


"Microsoft открыл код DirectX Shader Compiler"
Отправлено J.L. , 24-Янв-17 17:49 
> А не они ли одни из продвигающих LLVM?

LLVM сумел стать "дефолтно-предполагаемым промежуточным представлением", а такое представление, к которому с одной стороны крепятся фронтенды "языков", а с другой бэкенды "машкодов", удобно многим

зы: что б там про gcc и его промежуточное представление ни говорили - но не видно чтот желания у людей писать к нему фронтенды и бэкенды


"Microsoft открыл код DirectX Shader Compiler"
Отправлено J.L. , 24-Янв-17 18:00 
а можно промежуточное представление gcc компилить в llvm и/или обратно без потерь ? есть такие тулзы ?

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Andrey Mitrofanov , 24-Янв-17 18:48 
> а можно промежуточное представление gcc компилить в llvm и/или обратно без потерь

Прежде чем про "без потери" спрашивать, оплати консультацию лояра по этому вопросу, потом с копией чека -- за разрешением к тов.Столману.

Вот в теме про Майкрософт -- самое место таким вопросам, да. Поэтому сразу место ответу: works as designed. https://www.opennet.ru/openforum/vsluhforumID3/104551.html#54 . https://www.opennet.ru/openforum/vsluhforumID3/101723.html#131 .

> ? есть такие тулзы ?


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 13:22 
In YSFLIGHT for OpenGL 2.0, I have implemented the shadow-map method. I believe it can also be done with Direct X9, but, I don't want to spend even a second to learn an API that runs on only one operating system, and even declared deprecated by the vendor. Shadow-map feature will be available only in YSFLIGHT on OpenGL 2.0/ES 2.0 for now.
http://ysflight.in.coocan.jp/ysflight/ysflight/testvere.html

If Vulkun API catches up the speed, I will add support for Vulkun. Then the shadow- map feature will be available in YSFLIGHT on Vulkun then. But, I don't know how popular Vulkun can become. It may just fade away. Right now, there is no replqcement of OpenGL 1.1. I need to go very high- level, which is pretty much useless for me, or very low-level, which needs work to make it useful for me. Not everyone needs photo-realistic movie- like graphics. For me, I need 3D graphics to prove my concept in my research. OpenGL 1.1 was just good for my purpose. To use OpenGL 2.0 with ease, I wrote a cover library. Maybe I'll need to do the same for Vulkan eventually.
But, what I desperately want to avoid is to spend considerable time to lean how to use Vulkun only to see Vulkun just fading away. I wasted too much time to learn Direct3D9. Microsoft ditched it in Direct X10. If I knew my knowledge in DirectX9 becomes useless in such a short time, I definitely wouldn't have wasted time learning Direct3D9. I learned from it. I will never spend time learning Direct X12.
http://ysflight.in.coocan.jp/ysflight/ysflight/e.html


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 18:03 
>[оверквотинг удален]
> a cover library. Maybe I'll need to do the same for
> Vulkan eventually.
> But, what I desperately want to avoid is to spend considerable time
> to lean how to use Vulkun only to see Vulkun just
> fading away. I wasted too much time to learn Direct3D9. Microsoft
> ditched it in Direct X10. If I knew my knowledge in
> DirectX9 becomes useless in such a short time, I definitely wouldn't
> have wasted time learning Direct3D9. I learned from it. I will
> never spend time learning Direct X12.
> http://ysflight.in.coocan.jp/ysflight/ysflight/e.html

это как бы его личное наболевшее, не хочет как хочет ;)...


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 19:00 
Кто это?

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 13:40 
Объясните, плз. Эта компиляция в реальном времени будет происходить или что это вообще такое???

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 14:40 
У каждой видеокарты свой API.

У каждого драйвера свой API.

Всякие DirectX, OpenGL и пр. являются платформенно-независимыми и позволяют писать универсальный код для всех карт. То, что видеокарта не поддерживает, часто (не всегда) пересчитывается на центральном процессоре.

Сейчас в моде шейдеры - программы, исполняемые непосредственно на видеокарте. Обычно они представляют собой модификацию готовых текстур.

Пример шейдера: берёшь квадрат и файл-таблицу высот, объединяешь и получаешь трёхмерную карту местности. Накладываешь на неё текстуру травы. А для реалистичности сверху накладываешь "загрязнение" чтобы трава не была одноцветной.

Программы для шейдеров пишутся на универсальных платформенно-независимых языках программирования. Первые такие языки напоминали ассемблер, сейчас доросли до Си. HLSL - это Си-подобный язык шейдеров. Он компилируется в псевдокод DXIL (как раз этот компилер открыли), который DirectX и драйвер видеокарты преобразуют в исполняемый на видеокарте двоичный код.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 14:58 
ОК, спасибо за разъяснения.
А использовать это где предполагают?

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 15:17 
Майкрософт никому ничего не предлагает, особенно СПО.

Этот компилятор - это малополезная утилита, используемая где-то в глубинах DirectX. Его исходник интересен только тем, кто хочет скопировать DirectX (WINE, ReactOS).


"Microsoft открыл код DirectX Shader Compiler"
Отправлено pda , 24-Янв-17 22:53 
Там же написано, в первую очередь для компиляции в бинарный формат DirectX 12. Скажем, пишите вы DX12-only игру, хотите, чтобы
1) шейдеры загружались ещё быстрее и
2) злобные конкуренты не увидели их исходный код в ресурсах игры

Вот и компилируете их в такой типа java-байткод, который потом относительно легко и быстро преобразуется драйвером в исполняемый код, который будет работать на железе пользователя.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 25-Янв-17 00:23 
> для компиляции в бинарный формат DirectX 12

Это понятно. Непонятно зачем надо было исходники тулзы открывать. Т.е. то что код C++ компилятора MSVC закрыт - это ничо так, то что видеодрайвер закрыт - тоже норм, dll-ки DirectX бинарные - тоже подойдет. А шейдерный компилятор (точнее половина этого компилятора) - пуп земли что ли? Что-то тут не так...


"Microsoft открыл код DirectX Shader Compiler"
Отправлено pda , 25-Янв-17 18:59 
При наличии исходников их можно адаптировать и к другому компилятору. Впрочем, если там есть win-специфические вызовы, то толку от этого будет мало.

А открыли, вероятно, чтобы было легче интегрировать в движки. Пишешь шейдеры на HLSL, а в бандлы они уже в двоичном виде попадают.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 23:00 
>берёшь квадрат и файл-таблицу высот, объединяешь и получаешь трёхмерную карту местности.

А, так вот в чём секрет Малевича :)


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Andrey Mitrofanov , 24-Янв-17 18:26 
> Объясните, плз. Эта компиляция в реальном времени будет происходить или что это
> вообще такое???

Это опен-вошь. https://www.opennet.ru/openforum/vsluhforumID3/105598.html#69 + #70, и #64, и #52

Это *не* интересно. https://www.opennet.ru/openforum/vsluhforumID3/108255.html#3 + #16 + #5 + https://www.opennet.ru/openforum/vsluhforumID3/109110.html#131 + https://www.opennet.ru/openforum/vsluhforumID3/106322.html#19 + #15 + #76

Это отвратительно. https://www.opennet.ru/openforum/vsluhforumID3/109118.html#17 + https://www.opennet.ru/openforum/vsluhforumID3/108387.html#13 + https://www.opennet.ru/openforum/vsluhforumID3/108383.html#88 + https://www.opennet.ru/openforum/vsluhforumID3/108719.html#79 + https://www.opennet.ru/openforum/vsluhforumID3/108187.html#13

---Friends Don't Let Friends Microsoft Brainwash.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено iPony , 24-Янв-17 13:58 
Во, прям струей открытые техногологии поперли.
Вот что бывший SUNовец деоает.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 14:05 
> Во, прям струей открытые техногологии поперли.

Каждый раз, когда M$ что-то опять открывает, у меня мурашки по коже. Это потому, что каждый раз когда MS что-то открывает, гусь пробегает по чьей-то ещё не вырытой могилке ;)


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 14:06 
HLSL и DXIL по-прежнему закрыты. Расходимся.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено б.б. , 24-Янв-17 14:51 
ждём ебилдов

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 15:46 
Хотят подсадить на свою платформу, вот же нелюди. Пока есть шанс продвинуть Вулкан это надо делать, жаль только почти весь игропром под мелксофтом.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Ilya Indigo , 24-Янв-17 20:36 
> жаль только почти весь игропром под мелксофтом.

С разморозкой. M$ его большую часть уже слила Sony и продолжает активно наращивать темпы слития.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 25-Янв-17 10:16 
Там ещё и PC есть. А вот последняя консолька тёти Сони в народе получила почётное название "ремастерстейшен".

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 25-Янв-17 13:04 
> А вот последняя консолька тёти Сони в народе получила почётное название "ремастерстейшен"

Это плохо или хорошо?


"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 25-Янв-17 14:26 
Смотря кому. Если, скажем, ты любишь покупать старое в новой обёртке, тогда какие к тебе вопросы? А халтурщикам от игростроя - так и вовсе замечательно, не надо напрягаться и новое что-то выдумывать. Тяп-ляп - и в продакшен.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 25-Янв-17 15:57 
У меня есть и PS4 и PS4 Pro. Сейчас на некоторые игры для PS4 выходят патчи для PS4 Pro улучшающие контент - все они БЕСПЛАТНЫ! Все игры купленные для PS4 получают патчи для PS4 Pro БЕСПЛАТНО. Выходят ремастеры игр выходивших ранее на приставках предыдущего поколения, как-то на PS3 или более ранних, вот за них нужно платить. Вы же здесь такие слышали звон.. а в руках ничего из этого не держали.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Ilya Indigo , 25-Янв-17 23:19 
> Там ещё и PC есть.

А ещё есть Steam(OS), Nintendo и Android.
А M$ слила все свои эксклюзивы, кроме Хало, закрывает ожидаемые экслюзивы, а также подсаживает на ОффтопикСтор, отстраняясь от стима.


"Microsoft открыл код DirectX Shader Compiler"
Отправлено J.L. , 24-Янв-17 17:59 
это же компилятор 1) из HLSL в LLVM и 2) из LLVM в DXIL ?
и "для опенсорса" оно может быть полезно только где-то в виде "взять HLSL из винигры написаной для DirectX 9/10/11 (работающей в вайне например), компильнуть в LLVM, а потом в OpenGL/Vulkun для вывода на экран" ?

(с учётом что компиляция в DXIL "в опенсорсе" нафиг никому не сдалась ?)


"Microsoft открыл код DirectX Shader Compiler"
Отправлено KOT040188 , 24-Янв-17 18:05 
Не к добру это…

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 19:23 
Пусть сделают windows open source.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Andrey Mitrofanov , 24-Янв-17 19:25 
> Пусть сделают windows open source.

Пость отсидят, раскаются, исправят содеянное -- и присоединяются к GNU. Мы не звери!


"Microsoft открыл код DirectX Shader Compiler"
Отправлено BlackRaven86 , 24-Янв-17 19:54 
Если это упростит работу разработчикам WINE, то неплохо.

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Аноним , 24-Янв-17 22:12 
Зачем? MS хочет сделать кроссплатформенные игры?

"Microsoft открыл код DirectX Shader Compiler"
Отправлено Мазохист , 26-Янв-17 19:02 
Прими боже чего мне негоже?