Комментарии 14
Кстати. wgpu-rs работает помимо прочего и поверх WebGL 2.0. Если грубо, то эта новость означает, что прямую работу через OpenGL/WebGL можно закапывать. У GL во всех его проявлениях нет никаких приемуществ перед реализацией WebGPU от Mozilla.
WebGPU быстрее GL на платформах с DX/Metal/Vulkan. Т.е. почти везде.
WebGPU имеет более приятный синтаксис шейдеров (WGSL).
WebGPU проще и удобнее GL. Один API на все платформы (wgpu-rs это не только web).
wgpu-rs не умеет Multiview. Поэтому лично для меня закопать OpenGL/Vulkan пока не получается.
Там так и написано: "Currently WGPU does not provide multi-view support.".
Это хорошо, а если бы еще поддержка DX появилась, то можно было бы задействовать для следующего проекта. Через ANGLE то же бы устроила. Добавлять её самостоятельно я не чувствую в себе сил :)
А чем использование Vulkan как бекенда не устраивает? Разве DX/Vulkan не комплектом идут? Если что, я лет 10 как не вкурсе про нюансы ОС Windows.
Вообще судя по тому, что я вижу, это не так уж и сложно было добавить самостоятельно.
Спойлер
Вопреки сложившейся традиции, я тут не теоретизирую. Кое-что по мелочи отправлял, когда этого ещё не было, а ждать не хотелось. https://github.com/gfx-rs/naga/pulls?q=is%3Apr+author%3Alain-dono+is%3Aclosed
Не похоже чтобы можно было прямо-таки закапывать
https://github.com/gpuweb/gpuweb/issues/380
К тому же биндинги к C/C++ у wgpu просто отвратные
К тому же биндинги к C/C++ у wgpu просто отвратные
Там обычный сишный API, как и всегда в таких случаях. В упор не вижу, что с этим всем не так. C++ биндингов нет. По крайней мере я не видел.
Да и зачем? Вся инфраструктура вокруг wgpu целиком на Rust. Безусловно оно сырое как и всё в растовом геймдеве, но для несложных инди больше и не надо. Оценить можно например тут: https://arewegameyet.rs/ (там всё в целом). Могу подметить rend3 в качестве графической либы для 3D и bevy в качестве молодого, но динамично развивающегося движка (оба рендерят через wgpu). iced и egui в качестве гуя с поддержкой wgpu. Может быть ещё Veloren в качестве игры.
Ну да, в вебе этого скорее всего не будет ибо unsafe. А вообще
Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING
Features::UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING
Если я ничего не напутал, то это про bindless в том виде, в котором оно может быть относительно портабельно, а значит быть в wgpu.
Да, это видел. В качестве хоть какой-то замены может подойти, но добавляет много лишних телодвижений
Просто
Да и зачем? Вся инфраструктура вокруг wgpu целиком на Rust. Безусловно оно сырое как и всё в растовом геймдеве, но для несложных инди больше и не надо.
Явно не дотягивает до
прямую работу через OpenGL/WebGL можно закапывать
WebGL 2.0 наконец-то поддерживается во всех основных браузерах