Вопрос не был сформулирован правильно, потому что это немного сложно сделать в 1 предложении, поэтому реальный вопрос: Функция, которая создает объект, представляющий устройство в Direct3D9, выглядит следующим образом.В чем разница между REF и HAL?
HRESULT IDirect3D9::CreateDevice(
UINT Adapter,
D3DDEVTYPE DeviceType,
HWND hFocusWindow,
DWORD BehaviorFlags,
D3DPRESENT_PARAMETERS *pPresentationParameters,
IDirect3DDevice9** ppReturnedDeviceInterface
);
Adapter
UINT аргумент относится к конкретной видеокарты, используемой на целевом компьютере, но DeviceType
аргумент относится либо HAL или REF. Итак, в чем смысл указывать определенную видеокарту (например, 0) и REF тип устройства? Не является ли REF абстрактным экземпляром, который эмулируется процессором и не имеет никакого отношения к видеокарте?
Обратите внимание, что на современных платформах Windows использование [WARP] (https://msdn.microsoft.com/en-us/library/windows/desktop/gg615082.aspx), а не REF намного быстрее для отладки драйверов. –