> Еще раз. Те кто раньше сидел на ДХ стоят перед выбором какой абсолютно новый код писать кроссплатформенный или нет, фишки теже. Еще раз, АБСОЛЮТНО НОВЫЙ КОД. В это и есть большая разница между тем что было до недавнего времени и тем что будет сейчас. Надо быть имбицилом, что при таком раскладе выбрать ДХ12Какой вы наивный. Во-первых, под DirectX 12 УЖЕ активно пилят приложения. Unreal Engine 4 (полностью открытый) выходит на DX12. Технодемки на DX12 доступны уже пол-года. А к концу этого года куча игрописателей обещала выкатить движки и игры на DX12.
http://www.3dnews.ru/902978
В пользу чего будут делать выбор - в пользу DX12, про который уже понятно разработчикам или в пользу Vulcan, который только анонсирован?
Далее, DX12 совместим со всеми современными GPU: http://www.3dnews.ru/812641
"Важно отметить, что все видеокарты AMD с архитектурой GCN получат поддержку стандарта DirectX 12. Intel тоже заявила о поддержке стандарта в своих процессорах Haswell (впрочем, с оговоркой: это касается только графики Iris и Iris Pro). Владельцам карт NVIDIA повезло больше остальных: DirectX 12 будут поддерживать не только современные карты с архитектурами Kepler и Maxwell, но и старые ускорители Fermi (выпускавшиеся с 2010 года) — по сути все видеокарты GeForce класса DX11 получат поддержку нового стандарта. Впрочем, возможно, речь идёт лишь о частичной поддержке для старых ускорителей."
Доступен на консолях: "многие новые возможности DirectX 12 будут доступны на игровой консоли Xbox One" и мобильных платформах: "на мероприятии выступила и Qualcomm, которая рассказала о преимуществах DirectX 12 для мобильных платформ".
И, кстати, в отличие от низкоуровневых Mantle и Vulkan DX остается высокоуровневым, из http://www.3dnews.ru/813237 - "Direct3D 12 по-прежнему является высокоуровневым API, относительно безразличным к железу, на котором выполняется рендеринг (GPU только сообщает о поддерживаемых им функциях). В нем проблема решается по-другому. Вместо того чтобы передавать драйверу pipeline state целиком в момент draw call, состояния множества отдельных стадий конвейера объединены в несколько более крупных объектов — PSO (Pipeline State Objects), которые формируются незавимисо и отдаются драйверу немедленно. Таким образом, не дожидаясь draw call, драйвер может сразу конвертировать PSO в аппаратные инструкции и чуть ли не отправить последние в регистры GPU (в источнике на MSDN этот момент не совсем понятен). Кроме того, укрупнение объектов, олицетворяющих состояния стадий конвейера, позволяет драйверу быстрее разрешать зависимости между последними. Если в процессе подготовки к draw call какой-либо из PSO поменялся, также требуется пересчитать только соответствующие инструкции, а не hardware state целиком."
Как вы думаете, захотят разработчики игр массово переходить на низкоуровневые API или все-таки предпочтут менять поменьше? Mantle, напомню, особо и не взлетел.
Я не к тому, что Vulkan это глупая затея. Затея прекрасная. Но ваши рассуждения о том, как будут рассуждать игрописатели в этом вопросе ОЧЕНЬ притянуты за уши, и (как вы можете видеть из примеров в статье) все уже идет совсем не по этому плану.