Как стать автором
Обновить

WebGL 2.0 наконец-то поддерживается во всех основных браузерах

Время на прочтение 3 мин
Количество просмотров 8.7K
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 14

Комментарии 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.

В Holo Lens нет поддержки Vulkan. Обещали добавить когда-то, но пока в документации ничего про Vulkan нет. В живую я Holo Lens еще не держал. Был бы рад ошибаться по этому вопросу. Это сэкономило бы очень много сил.

Вообще судя по тому, что я вижу, это не так уж и сложно было добавить самостоятельно.

Спойлер

Вопреки сложившейся традиции, я тут не теоретизирую. Кое-что по мелочи отправлял, когда этого ещё не было, а ждать не хотелось. 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 в качестве игры.

https://github.com/gpuweb/gpuweb/issues/380

Ну да, в вебе этого скорее всего не будет ибо 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 можно закапывать

Поговаривают, что доступ браузера к железкам это серьёзная брешь в вопросе защиты пользовательских данных.
НЛО прилетело и опубликовало эту надпись здесь
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.