Veldrid — кроссплатформенная, низкоуровневая, графическая библиотека под .NET. Позволяет работать с различными графическими API (OGL 3, D3D 11, Vulkan) одинаково как на десктопе, так и на мобильных платформах не модифицируя код .NET. Лицензия MIT, то есть можно всё. Есть готовые пакеты NuGet.
Шейдеры все-равно придется писать на разных диалектах (GLSL, HLSL, ...), но библиотека выглядит интересно.
- 18 декабря 2017, 12:47
- 03
Взаимоисключающие параграфы.
А если разобраться? Библиотека вполне может предоставлять доступ низкого уровня будучи написанной на/имеющей интерфейс для высокоуровневого языка. Низкоуровневость сама по себе не гарантирует произвоительности.
FFS операции с байтовыми массивами доступны в практически любом мейнстрим-языке, и ничто не мешает этот стрим загнать в порт голой, не обёрнутой драйвером железке. SharpDX - очень, очень тонкая прослойка дающая managed-доступ к DX12, например - весьма низкоуровневому GAPI.
Если б было сказано, что она "low overhead" - тогда вилы с факелами ещё имели бы обоснование. Впрочем, в данном конкретном случае у автора библиотеки лёгкое раздвоение личности - на сайте документации она "low-level" (коей ни в одном разе не является, судя по тому что я в репозитории увидел; "new TexturedMesh()" - это вообще пушка), а в readme.md никакого упоминания нет.
К чему я это всё. Мир слишком многогранен чтобы его рубить с плеча :)