Andrey
> Если есть поддержка SPIR-V то генерить GLSL нету смысла.
Да пофиг на глсл (мне лично он не нужен, ни на одном бакенде моего рендера он не юзается) — это просто пример понятный всем.
Мой поинт был в том, что попытка "магическими макросами" сделать из одного языка другой — она не очень работает в реальных условиях.
Есть левая библиотека от Valve для конпелирования hlsl в glsl.
k-payl
> В случае OpenGL отказался от uniform-ов и перешел на Uniform Buffer Object.
и какие результаты ?
romgerman
> Есть левая библиотека от Valve для конпелирования hlsl в glsl.
Куда гуглить? Дай ссылку.
romgerman
> Есть левая библиотека от Valve для конпелирования hlsl в glsl.
слабовата библиотека, проще уж через glslang скомпилировать hlsl в spirv, а потом через spirv-cross декомпилировать в glsl
innuendo
Переключение в рантайме согласен, не такая нужная штука. Просто прикольно, да и время сэкономит. А какие штуки нужные?
По поводу UBO - ну работает)
Suslik
> https://github.com/V… Software/ToGL
Тюю. Я надеялся там что-то серьезное, а там: Limited subset of Direct3D 9.0c. Да и заброшено все это дело 4 года назад.
MrShoor
> Тюю. Я надеялся там что-то серьезное, а там: Limited subset of Direct3D 9.0c.
> Да и заброшено все это дело 4 года назад.
glslang + spirv-cross условно работают. ну и их активно допиливают
kas
> glslang + spirv-cross условно работают. ну и их активно допиливают
Это конечно хорошо, да. Но я так понимаю оно только в spir-v умеет? GLSL никак не получить?
MrShoor
> GLSL никак не получить?
я же написал как:
> через glslang скомпилировать hlsl в spirv, а потом через spirv-cross декомпилировать в glsl
главное при компиляции в spirv дебажную инфу оставить, тогда читаемо будет.
MrShoor
> GLSL никак не получить?
spirv-cross умеет аутпутить glsl и msl
k-payl
> По поводу UBO - ну работает)
ну сравнение скорости же
> А какие штуки нужные?
техники разные
на торке было вообще просто - отдельные шейдера для hlsl и glsl
Тема в архиве.