Metallist64
> Could NOT find Vulkan
Vulkan скачивал?
В документации написано какую версию поставить можно https://docs.sparcles.dev/latest/WindowsBuild/
Monika
> так как тот же Apple прекращают его поддержку
они уже 20 лет выпиливают его. И именно OpenGL маловероятно что выпилят, потому что его поддержка проще всего. Его, вероятнее всего не будут выпиливать, а сделают его эмуляцию на Metal.
А вот Vulkan Apple поддерживать не будет (по умолчанию, да там есть прокладка, для его использования).
Mirrel
> И именно OpenGL маловероятно что выпилят, потому что его поддержка проще всего. Его, вероятнее всего не будут выпиливать, а сделают его эмуляцию на Metal.
Apple уже давно пометили OpenGL как deprecated и не развивают его, это легаси.
Нет никаких гарантий, что он будет поддерживаться в будущем.
Но да, Metal их основной и единственный приоритет.
Mirrel
> А вот Vulkan Apple поддерживать не будет (по умолчанию, да там есть прокладка, для его использования).
Нативно он и не поддерживается, есть MoltenVK (слой трансляции в Metal), он имеет тот же интерфейс что и у Vulkan (ты буквально подключаешь vulkan.h), но там отсутствует часть фич и возможен overhead в каких-то случаях.
Так что Vulkan был выбран не просто так в качестве основного рендера в движке, а потому перспектив у него больше в плане развития и производительности, и есть поддержка у большинства платформ.
Единственно что печально, что Vulkan не поддерживается в браузерах, и маловероятно что будет когда-то поддерживаться
Потому под Emscripten приходится писать вторую реализацию (WebGPU).
У OpenGL насколько мне известно чуть лучше ситуация с этим, хоть и ограничений много, но там транслируются OpenGL вызовы в WebGL.
Но как по мне, лучше написать под современный WebGPU реализацию (чем я и занимаюсь).
Monika
> Vulkan
Вулкан я думаю что это перспектива и будущее графических api.
Monika
> Apple уже давно пометили OpenGL как deprecated и не развивают его
расскажи пожалуйста, а кто его развивает дальше? Было бы интересно это узнать!
Если человек не понимает, то думаю что стоит объяснить. OpenGL - уже на финишном своём состоянии. Не надо ни чего изобретать в дальнейшем, он не изменится, а значит поддержки он требует минимальной.
Vulkan и Metal будут развиваться дальше и Apple не будет давать ни каких гарантий, что совместимость за счёт прокладки будет работать всегда. Захотели они что-то в Metal изменить - в MoltenVK меняйте сами. Не правильно что-то сделали, ваши проблемы.
Я не говорю, что это не перспективно - я говорю, что это спокойно выльется в какие-нибудь баги, не зависящие от движка. В OpenGL этих багов не будет уже ни когда.
Я вообще не вижу смысла "выбрасывать" OpenGL. Который в самом деле работает почти на всех мыльницах. Захотел человек использовать твой движок и решил использовать именно OpenGL (по своим причинам), а тут такой облом. )))
Mirrel
> OpenGL - уже на финишном своём состоянии.
Я даже не знаю как это комментировать, изучите получше текущее состояние графических библиотек.
В таких вещах не может быть финишного состояния, как минимум потому, что драйвера обновляются, и в них появляются все более новые и удобные инструменты. Взять тот же DLSS, на OpenGL он реализуется через костыли, в то время как Vulkan имеет официальную поддержку фичи.
Mirrel
> Захотел человек использовать твой движок и решил использовать именно OpenGL (по своим причинам), а тут такой облом. )))
У любого человека, который будет использовать движок, не должно возникать в принципе необходимости задумываться что там под капотом. В движке нет прямого доступа к графическому API, все идет через абстрации.
Даже шейдеры пишутся на независимом от API языке, который конвертируется в нужную реализацию под конкретное API.
Появятся какие то AI шейдеры и вулкан отправится на помойку.
Все эти вулканы держатся на текущем конвеере обработки, конвеер сменится и всё.
Тогда как OGL это абстракция и ему плевать что там на видеокарте происходит.
Mirrel
> Я вообще не вижу смысла "выбрасывать" OpenGL.
Попробуй написать большой проект на OGL, сразу захочешь его (OGL) выкинуть и взять что-то нормальное.
> Vulkan и Metal будут развиваться дальше и Apple не будет давать ни каких гарантий, что совместимость за счёт прокладки будет работать всегда.
Apple прогнулись и выпустили Metal4 который очень похож на вулкан и дх12, а новые обертки уже готовы вместо тормознутого MoltenVk
/A\
> Попробуй написать большой проект на OGL, сразу захочешь его (OGL) выкинуть и взять что-то нормальное.
ты наверно что-то забыл добавить? Потому что не важно какой проект, если он будет работать. Ведь основа игры - это не графика.
Mirrel
Если будет работать с лагами, то это никому не понравится, ну кроме фанатов UE.
В gl нет контроля за выделением памяти, поэтому любое создание буфера или текстуры может привести к лагу в главном потоке.
Новая комбинация шейдеров и рендер стейтов на слабом интеле приводит к остановке главного потока до 1с.
Разные драйвера вставляют синхронизации цпу и гпу в любой момент, что создает лаги
Monika
> У любого человека, который будет использовать движок, не должно возникать в принципе необходимости задумываться что там под капотом.
Вы же делаете продукт для программистов. Они не только под капот полезут.
И выпилив OpenGL, вы выпиливаете огромный пласт потенциальных пользователей.
> Я даже не знаю как это комментировать, изучите получше текущее состояние графических библиотек. В таких вещах не может быть финишного состояния, как минимум потому, что драйвера обновляются, и в них появляются все более новые и удобные инструменты
Странно, вам только что привели пример. OpenGL имеет свое финишное состояние. В виде версии 4.6.
Большинство драйверов, для железа того времени тоже уже не будут обновляться.
Очевидно, что вы за Vulkan, но будьте уверены, у него тоже будет финишное состояние.
/A\
> В gl нет контроля за выделением памяти, поэтому любое создание буфера или текстуры может привести к лагу в главном потоке.
Глупый вопрос, почему в IdTech 2,3,4, Unreal 1-2, нет таких проблем? Всё работало на очень медленном железе.
Metallist64
> Вы же делаете продукт для программистов. Они не только под капот полезут.
> И выпилив OpenGL, вы выпиливаете огромный пласт потенциальных пользователей.
Часто ли вам приходится лезть в Unity/UE/Godot под капот, чтобы посмотреть что там за API?
Узнав что UE использует не OpenGL, что сделаете, пойдете в другой движок?
У UE5 OpenGL остался чисто как fallback для старых Android, а так у них DX12 / Vulkan / Metal.
/A\
> Если будет работать с лагами, то это никому не понравится
много игр работало с лагами? Даже онлайн-игры редко лагали.
У этих игр есть только одна проблема, они не вывозят "современную" графику.
Я не отрицаю тех проблем, о которых ты пишешь, но ты слишком ушёл в графику и забыл о самой игре.
Monika
> Часто ли вам приходится лезть в Unity/UE/Godot под капот, чтобы посмотреть что там за API?
вот в том-то и дело, что не часто. И OpenGL даже поддерживать больше не надо. Сделал, работает и забыл.
Зато человек делал, делал игру и вдруг выясняет, что он не сможет её запустить на том устройстве, на котором он хотел. Просто замечательно!
Monika
Да я вообще под U3DRbFX пишу )
Там почти все GAPI поддерживаются.