2012-12-22 34 views
1

嗯,我正在學習DX11,我希望有一天我可以開始一個簡單的3D引擎。 我正在學習系列教程,我意識到我不需要創建任何類來維護我的代碼(教程也使用這種過程方法,但我不復制粘貼教程代碼,我嘗試瞭解教程和然後以我的方式嘗試編寫新的東西),我可以只用函數和全局變量來使代碼「可以理解」。所以我想知道,當我對API有足夠的知識並且想開始創建自己的庫時,這種程序方法是否有一些缺點?我應該開始寫一些課程嗎?directx程序編程

謝謝。

+0

另外,如果有人能給我一個遊戲引擎的哪些方面應該用POO方法編碼的例子,這對我來說很重要 – German

回答

1

一開始我從一個小引擎開始,它只包含一堆程序。它的第一個應用程序的工作和發展很快。但越是應用程序變得越複雜,代碼變得越難讀,維護起來真的很糟糕。然後我用面向對象的方法來構建它,幾乎所有事情都變得更好。程序的整體結構更容易,並且一些問題可以很好地用oop解決,例如,碰撞檢測。你有一個家長級的,例如CollidableObject,並推導出許多類,如CollidableSphere,CollidableCubeCollidableLine。對於碰撞測試,你只需要與類CollidableObject一起工作,它確實是哪個對象並不重要。用程序方法處理這個問題並不是很好。還有許多其他例子,其中oop是有用的,例如,你可以用許多不同類型的粒子(廣告牌,頂點,網格,燈光)爲你的粒子系統建模,只需要實現一個給定的模式,簡單地一起工作。

總而言之,我會建議儘快開始上課,但對於第一次有趣的黑客攻擊和學習程序性方法並不是很好但適合。