В Vulkan только с синхронизациями сложно работать, а так-то API совсем простенький. На консолях от сони поболее лоу-левел.
HolyDel
В вольфенштейне уже намного круче сделано, в дум энтернал наверное еще лучше.
Да и анрил доработали за прошедшее время, там самсунги им оптимизировали.
Сейчас с кучей расширений типа dynamic states вообще непонятно как лучше, либо меньше пайплайнов и больше динамически ставить как в огл, либо только пока компилируется оптимизированные пайплайны использовать больше динамических стейтов.
С synchronization2 тоже неоднозначно, там трансфер разделили на 3-4 этапа, а насколько плохо использовать по старинке 1 общий непонятно.
Да штож вы меня так пугаете, это ж не манускрипт войнича что разобраться нельзя от слова никак)
u960
> там тоже hello triangle выводится в тысячу строк кода?
Да это фигня. Хелло триангл выводится ровно в теже десяток строк кода что и на любом другом гапи. Инициализации девайсов, свапчайнов и т.д. к хеллотрианглу отношения не имеют:)
Но вообще вулкан болеет теми же болячками что и ранний opengl - к примеру совершенно нет гарантии что у игрока все будет работать.
Target
Если хочешь несколько АПИ, настоятельно рекомендую, начать с Direct3D12!, Не повторяй ошибок, и да, не надо Direct3D11. Если у тебя попрет, Сразу можешь заложить в архитектуре Mesh Shaders и может Ray tracing
war_zes
> Инициализации девайсов, свапчайнов и т.д. к хеллотрианглу отношения не имеют:)
А рендерпасов, пайплайнов, фреймбуферов, коммандбуфферов? Под пару сотен там точно строчек наберется.
Target
Можешь попробовать эпловский Метал. По началу будет больно и противно, но после оборачивания в удобный с++ становится намного лучше. Там уже есть фреймграф и прочее, что на дх12 и вулкане придется подолгу разрабатывать. К тому же дх12 и вулкан мало где нужны, потому что анрил и юнити все вытеснили, а вот оптимизация под Метал сильно отличается, скорее всего движковые монополисты тут сильно сливают.
если вам надо треугольник рисовать, то берите sdl и не парьте людям мозг. экспрессивность АПИ измеряется не тем, сколько строчек нужно для вывода одного треугольника, а тем, сколько человекочасов уйдёт на написание на нём какого-нибудь real-time GI с асинхронным стримингом всех ресурсов. так вот чем сложнее техника, тем удобнее её разрабатывать на нормальном GAPI, просто потому что нормальные GAPI для этого и придумываются.
Ребят, я интересуюсь не с целью, чтобы в будущем найти работу, что лучше изучить и заюзать. Это чисто для себя, чисто для своих наработок, чисто для своего корявого рендера для своего (возможно) корявого движка. Нет цели написать убийцу флагманов, я этого всё-равно не достигну) Присмотрелся к вулкану, да и уже начал постигать вулкан, а бросать начатое уже, если честно, не хочется, сворачивать не хочется на тот же DX12, например, так что буду его грызть. Да, я не напишу супер-пупер оптимизированно как самсунги для эпиков, не смогу сделать круто как в дум этернал, но отчасти я хотя бы буду знать, иметь практический опыт. Я бы сейчас вообще мог тот же OGL заюзать по старинке и не подрываться, но захотелось новое что-то заюзать и поучить. Придёт время и начну более тонко разбираться, а сейчас мне бы сделать нужный функционал и мало-мальски удобный интерфейс для более удобного юза, фсё) Если так перебирать технологиями, с целью сразу написать как надо, т.е. чтобы best-practices - я так вообще ничего не сделаю) А потому, вопрос, думаю, можно закрыть)
Target
Я это говорил к тому, что на Метале больше фич под айфоны и новые маки, а на вулкане больше фич под нвидию.
Для АМД наверное лучше дх12, потому что меш шейдеры для амд в вулкане так и не появились, а поддержка рейтресинга урезаная по сравнению с дх.
Еще на дх12 работает асинк компьют для интела.
Target
Если хочешь в графических алгоритмах попрактиковаться, а не заниматься системным погромирование, лучше взять Dx11. Можно заюзать dx11on12 и юзать современные отладчики в придачу
Target
Изучай Vulkan, он работает на всех современных видеокартах, поддерживается в Windows, Linux, Android. DX12 привязан к Windows 10, скорее всего код для него ты выбросишь лет через 5-6. Metal только на огрызке, но там можно юзать Vulkan через MoltenVK. OpenGL умирает. На PS5/Switch свои велосипеды.
Бери mesh shaders и push descriptor with template, остальное в топку :)))
Target
посмотри WebGPU native
IBets
> Если хочешь в графических алгоритмах попрактиковаться, а не заниматься
> системным погромирование, лучше взять Dx11.
бинго
Тема в архиве.