簡體   English   中英

使用C ++和DirectX從零開始在3D游戲中創建效果

[英]Creating effects in 3D game from scratch, using c++ and DirectX

標題就是這樣。 我找不到有關如何在3D游戲中實際建立效果的任何信息。 稍后我可能會繼續使用某些引擎,但是為了理解這整個過程,我現在需要自己嘗試一下。 我發現一些關於粒子系統的方法可能是正確的方法,但是DirectX和Google上的粒子系統之間的任何其他連接都給出了3DSmax等結果。

因此,如果您能為我提供一些指導性的教程或對其進行解釋,我將不勝感激。最后一個可能性是使我指向專注於此問題的一些簡單引擎(我並不是很想花很多時間編寫代碼,了解此引擎的工作原理后,我只需要查看他們如何實現此FX東西即可。

謝謝

PS:另一種可能是,如果您知道一本好書來解決這個問題。 它可能更復雜,但是除了教程之外,書籍通常寫得更基礎,因此這也是不錯的選擇

首先:粒子特效只是一種特效,最好指定粒子引擎:p一詞。

其次:在Gamedev的文章中搜索 ,如果您想要這樣的東西,那的確是最好的資源。 您可以在討論板上找到很多文章,甚至更好的鏈接,以及有用的信息。 我可以鏈接的兩篇文章是有關OpenGL中的粒子NeHe課程 ,它不是DirectX的,但是OpenGL的NeHe教程非常好。 我還發現了一個用於Directx8和VB的 (太舊了)。

請記住,如果您無法自行優化粒子引擎,通常會對性能造成很大的影響,所以請嘗試研究開源游戲引擎(例如OGRE)如何實現它甚至更好的特定粒子引擎。

因此,如果您能為此指出一些教程,我將不勝感激。

您需要下載Microsoft DirectX SDK 除此之外,您應該嘗試NVidia SDK 您也可以嘗試ATI SDK 研究他們全部。

除了它們...在OpenGL上還有幾本書: “ Red Book”“ Blue Book”Orange Book 弗朗西斯·希爾(Francis Hill)的“使用OpenGL的計算機圖形學”也是一個很好的例子。

獲取此信息,然后開始閱讀。

實際上如何在3D游戲中建立效果

這個問題太廣泛了。 有燈光效果,粒子系統,后處理效果,物理效果(也是效果),甚至角色動畫也是一種效果。 目前尚不清楚您在談論哪種效果。

您認為更好的DirectX或OpenGL。

他們或多或少是平等的。 您可以在兩者中做相同的事情。 嘗試兩者並選擇您更喜歡的一個。 OpenGL更適合玩耍和實驗(因為您可以輕松繪制三角形而不會弄亂硬件緩沖區),可在更多平台上使用,而且GLSL比HLSL更好(因為它不會“編譯成匯編語言”)。 DirectX從一開始就着眼於性能,可以在XBox360上使用,而第9版確實不錯。 openGL更“抽象”,而DirectX更接近硬件。

如果可以使用這些因素,例如簡單性,使用范圍,性能,示例數量和資源等

  1. 如果您想要簡單,則應該忘記制作游戲引擎。 如果要處理3D,則必須學習很多東西。
  2. DirectX和OpenGL均用於制作3D相關產品。
  3. 使用DirectX和OpenGL可以獲得良好的性能,如果您不知道自己在做什么,則性能會很差。
  4. DirectX和OpenGL都有大量的示例和書籍-只需搜索即可。 它們不是昨天制作的,因此已經有足夠的信息。

您需要選擇目標,選擇平台,選擇API,研究可用的技術並開始編寫代碼。 想知道“哪個更好”是浪費時間。 3D知識和算法同樣適用於兩種API。

OpenGL是我感覺最好的選擇。 Glut是免費提供的,具有實現粒子引擎所需的所有功能。 另外還有在線示例代碼。 我喜歡函數的方式。 易於記憶和邏輯使用

學習D3D9.0c / D3D10的最佳書籍是Frank Luna。 只需將他放到亞馬遜或Google中,您就會得到結果。 他教授如何從頭開始構建成熟的游戲引擎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM