2013-05-22 41 views
1

我使用的是Windows XP上的舊機器,XP只支持DirectX9,我想學習directx 11並使用它,所以我的問題是:是它開始學習directX 9,然後在使用Windows 8獲得我的新機器後進入11? Directx 9和11之間的主要區別是什麼? PS:我的目標是創建一個3D遊戲。它會很容易從DirectX 9到DirectX 11

+0

雖然其中一些概念相似,但在使用Direct3D 9的經驗與Windows XP上的遺留DirectX SDK與Windows 8.x上的Direct3D 11之間存在十年甚至更長時間的差異。在任何情況下,移植的基礎知識都在[MSDN](http://msdn.microsoft.com/en-us/library/windows/apps/dn166881.aspx)和[Migrating to Direct3D 11](http:/ /msdn.microsoft.com/en-us/library/windows/desktop/ff476190.aspx)。 –

回答

1

D3D 9和10/11之間的主要區別在於固定管道不再存在,所以在使用9時我建議避免使用固定管道併爲所有內容編寫自己的着色器。我還會考慮避免效果框架,因爲它已經從10/11的主要圖書館中移出(雖然它仍然可用)。

另一個區別在於D3D如何處理其設備上下文。許多函數已經從Device移到Context類,這樣做是爲了允許延遲上下文提供更好的多線程支持。儘管這不會對您造成太大影響,但升級時只需要進行一些重構。

如果您打算使用舊版xp/dx9支持您的遊戲,那麼使用9開始項目可能不是一個壞主意,祝您好運!