Я обматываю класс IDirect3D8 (в основном, повторно его реализую), и я использовал DXGI для перечисления режимов адаптера. Наступает проблема. член ФорматСсылка на два члена с перечислением
D3DDISPLAYMODE требует, чтобы он был членом D3DFORMAT перечисленных типов, хотя IDXGIOutput :: GetDisplayModeList возвращается, очевидно, член DXGI_FORMAT перечисленных типов, которая полностью отличается от D3DFORMAT. Мне нужно связать членов DXGI_FORMAT с D3DFORMAT.
Моя первая идея заключалась в том, чтобы написать функцию, которая проверяет тип и перенаправляет его соответствующему члену D3DFORMAT, соответственно, но это не очень хорошая идея (это 67 членов в D3DFORMAT). Затем я придумал идею, что у меня может быть массив, индексы которого будут значениями членов DXGI_FORMAT, и их значения будут соответствующими членами D3DFORMAT, но я не уверен - может быть лучший способ, и я буду тратить время. Есть ли лучший или более простой способ сделать это?