Я написал программу, использующую DirectX 11. При создании устройства я использую уровень функций 9.0c (точнее, D3D_FEATURE_LEVEL_9_3).
Мое первоначальное понимание уровней функций заключается в том, что выбор одного из них позволяет программе быть совместимой с видеокартами, которые не поддерживают более поздние версии DirectX.
Насколько мне известно, DirectX 11 может быть не установлен на Windows Vista (по крайней мере, официально), но представьте, как я был удивлен, когда все графические функции работали как часы на Windows Vista.
Вопрос: почему? Как? Является ли DirectX 11 настолько умным, что использует двоичные файлы DirectX 9, когда нет доступных 11? Может это особенность DirectX 10? Может быть, Microsoft включила поддержку Vista для DirectX 11? Что-то в этом есть, я не верю в такие совпадения...
MSDN молчит по этому поводу. По крайней мере, я не нашел подходящей темы.
Любое объяснение этому?