Сегодня компания Microsoft презентовала следующую ступень эволюции DirectX 12 - Direct X 12 Ultimate.И, если отбросить маркетинговую шелуху, что мы получаем и зачем это было сделано?
Сначала что мы получаем:
DirectX Raytracing 1.1 - доработанный API для трассировки лучей, позволяющее теперь инициировать трассировку из любой шейдерной стадии, без необходимости просить об этом планировщик потоков через CPU часть API, а так же возможность "догружать" (стримить) шейдеры трассировки в SBT таблицу (раньше она была статична).
Variable Rate Shading - уже знакомый нам VRS, который был доступен как расширение для Vulkan, теперь доступен и для DirectX 12. Для тех кто не в курсе что это - грубо говоря экран разбивается на блоки, для каждого проводится анализ насколько в нем много деталей, и для малодетализированных блоков понижается эффективное разрешение.
Mesh Shaders - еще одно нововведение пришедшее в DirectX 12 с Vulkan и Turing видеокарт Nvidia. Очень крупное нововведение, сильно меняющее vertex pipeline. Однако, при умелом использовании, открывает широчайшие возможности по оптимизации рендеринга/кулинга.
Sampler Feedback - позволяет получить информацию от GPU какую текстуру и в каком мип-уровне он пытался прочитать, и реактивно реагировать подстраивая стриминг. Должно сильно ускорить стриминг текстур.
Texture-space shading - нововведение (для DirectX) позволяющее производить шейдинг в "UV space" - таким образом можно как-бы закешировать освещение, и затем пере-использовать его на другом объекте. Должно стать основной оптимизацией для VR (на ряду с VRS).
А теперь отвечу на вопрос - а зачем это все было заворачивать в "новую упаковку", а не просто сделать DirectX 12.2 ?Все очень просто - все вышеописанное - это новые фичи консолей следующего поколения. Все то что принесли нам инженеры из Nvidia, AMD добавила и в свои GPU RDNA 2.А "новая упаковка" нужна для "печати качества". Теперь если на вашей видеокарте есть стикер "DirectX 12 Ultimate" - значит вы можете быть уверенным что все новые плюшки у вас поддерживаются (владельцы RTX карт уже полтора года как DirectX 12 Ultimate ready )
Вобщем ход правильный, как с маркетинговой стороны, так и с обывательской - в кои веки произошло слияние обеих платформ и теперь есть один общий API с общим набором фичей, что в итоге приведет повышению качества игр, ибо "портирование" как таковое будет не нужно.
Всем добра.