,詢問奇怪的事情,這裏的傢伙,再包括DirectX 9和10中的相同的代碼文件
我看到他們使用不同的可執行文件,因爲這是兩個DirectX 9和DirectX 10,這是創建一個遊戲可能在代碼文件中包含「d3d9.h」和「d3d10.h」,然後選擇direct3d 9函數或direct3d 10函數,例如,取決於像標誌一樣的參數?我不是在使用direct3d 9上下文和對象使用direct3d 10函數來繪製某些東西。
我想要做的是創建一個名爲init3D(UINT version);
的函數。根據version
,它將創建一個directx 9或directx 10對象和設備。我不知道這是否可行,或者我必須創建兩個不同的可執行文件(如果我決定使用d3d8,也可以創建兩個)(012)。
運行時鏈接是不是有點慢? – ali
不是真的,通過函數指針而不是直接調用一些小的開銷。另一種方法是將d3d9和d3d10代碼放入單獨的dll中,然後在運行時只加載其中的一個。 – jcoder