3D引擎相關和書籍

2021-09-07 23:19:22 字數 2963 閱讀 1343

首先是語言方面,這個問題沒有太多的選擇的餘地,基本上只有用c++(現在還在堅持用純c來寫引擎的估計只有卡馬克同學了),語言的功底是特別重要的了;大規模專案的編寫能力也是很重要的,推薦看《大規模c++程式設計》

軟體工程方面,你可能要了解一些單元測試,系統級設計的方法;但是流行的軟體方法,比如敏捷,我覺得,如果是你乙個人得工程,用處可能不大,但是了解一點總沒有壞處.最重要的地方就是設計和測試了.

圖形方面,你需要了解至少一種圖形api(比如opengl或者directx),建議開始還是不要寫多個api的渲染器,現完成乙個,以後有時間再寫另外的版本.在設計的時候多花一點時間,設計良好的純虛類,這樣可以很方便的被不同的圖形api渲染器繼承,當然,開始你要作的只是實現其中乙個派生類.

如果以前都沒有接觸過3d圖形方面的程式設計,建議你還是花較多的時間學習一種api,記住,只是一種!不管是opengl還是directx,寫好了一種再學另一種都是很簡單的.但是就遊戲引擎的要求來看,這方面要有比較高的水平了,因為渲染器部分是遊戲引擎質量的直接體現.

物理方面,基本上你可以放棄了,這不是程式設計師能夠搞得定的事.你可能還可以抄一下別人的演算法,但是這對物理和數值計算方面的理論知識要求也比較高,所以還是建議,用別人的物理庫比較好.個人覺得novodex比較強,有免費的個人版;其他開源的引擎比如ode等等也是比較好的選擇.物理方面的虛擬技術馬上會有**式的發展,可互動性,是其中比較熱的技術,因為這可以讓玩家的感覺更真實.

網路方面,這個我一點都不了解,所以不多說了.但是強調一下,現在的遊戲引擎如果沒有網路功能,就是失敗的遊戲引擎.而且網路和物理一樣,在引擎編寫的初期就要設計好,現在最後再整合是特別難的事情了.

還有很多關鍵的技術.指令碼技術,可以看一下<>,看完這本書基本上可以自己設計乙個指令碼解析器了(我還沒看完,呵呵);地形,<< focus on 3d terrain >>,也有開源的地形引擎,比如gaia,這方面的資料特別多;模型和動畫,<>和<>是入門最好的書了,但是這兩本書都只能幫你入門,書中的技術用在現在的遊戲還算可以,以後的引擎肯定不會還用這些技術,最好了解一下現在前沿的技術(在unreal 2, 3,  doom3,quake4中我們已經看到了這方面最新的研究成果的應用);還有,最好可以了解hlsl或者cg,這樣你就可以看得懂別人寫出來得shaders,自己也可以嘗試寫一些特效了,sm 4的新標準可能成為引擎的又一挑戰,所以shaders的高階語言會越來越重要.

如果只想寫一般的小引擎,上面說的東西,你完成一半已經很不錯了,但是如果要寫出商業品質的引擎,這些還是遠遠不夠的.你需要了解到,現在的技術每天都在發展,很多都可以應用到你的引擎中,但是這些技術都來自於**,比如siggraph報告會,gdc開發大會和ieee的期刊.馬上是vista和64位的時代,sm4.0和direct10引入了光線跟蹤的高效實現,圖形晶元飛速發展的神話還在繼續,物理晶元的引入也令人側目......所有這些都是可以讓你的引擎脫穎而出的特性.

太難了,不是?因為遊戲引擎幾乎不可能乙個人寫得出來的.除非你是卡馬克那樣的天才.

不過不要太難過,堅持不懈的努力,每個人都可以超越卡馬克的.

don't think you are.know you are!

advanced animation with directx

這本書主要講的是怎樣用directx9來完成遊戲中的動畫,主要是移動、骨骼動畫等等,也涉及了不少的3d模型的知識。這本書起步比較的高,沒有講太多的directx9的基礎,但是章節安排得十分合理,由簡入難,是一本初學者和高手都比較適用的書。

focus on 3d models

說起遊戲中的3d模型,這本書講得十分透徹。也對各種知名遊戲中的模型作了介紹。只是感覺這本書的高度不夠,沒有站在引擎的角度來看遊戲中的模型的處理。技術比較專,偏於實用。

3d game engine design

這本書應該比較早就有了,最近才開始看。覺得理論的方面講得比較到位,數學和物理的內容相對講得多一點。具體的**沒有過多的涵義,因為這本書的價值就在於它的理論。

3d game engine programming

與上面的那本書比起來,這本書以具體的乙個遊戲引擎為背景,討論了具體實現時需要注意的各種問題。比較全面和直觀的講解了遊戲引擎的細節。但是在引擎最重要的環節-圖形部分,沒有太多的討論,在效率方面也沒有給讀者帶來什麼驚喜。

game scripting mastery - 遊戲指令碼設計完全掌握

不可多得的好書。整本書圍繞遊戲指令碼中的技術來談。從lua到python,從彙編到高階語言的解析器,幾乎涵蓋了指令碼的方方面面。該書又不拘泥於技術,而是教給讀者能設計並實現自己的遊戲指令碼的能力。部分專題又站在引擎的高度,對引擎有興趣的讀者必定會受到不少啟發。

shaders for game programmers and artists

初學者比較適用,沒有過於深奧的理論,用了rendermonkey作為開發shader的工具,從頭講解shader技術,以及hlsl。是shader比較好的入門書。

game coding complete

開發者的指南。全面地介紹了遊戲開發中的各種細節,文中的例項給人印象極深,各處的補注和注意事項也豐富了書的含量。不僅給門外漢上了第一課,也能讓許多開發者意識到自己長期以來沒有發現的錯誤。

data structures for game programmers

這絕不是一本枯燥無味的資料結構的書。書中提到的方方面面都以遊戲為背景,**和例程也用遊戲demo的形式出現在讀者面前。

3d math primer for graphics and game development

不論是數學理論還是具體實現,都講得十分詳盡。對於迫切需要提高數學水平的開發人員來說是不錯的教科書。另外還有這本書的縮略版,內容上面沒有刪減多少,只是少了具體化實現的**。

programming multiplayer games

比較深入的談到了多人聯機遊戲中的技術專題,是網遊開發愛好者的指南。

programming role-playing games with directx

雖然說是directx8時代的書,但書中的知識絲毫沒有落後於當前的技術。**也十分優雅。還從遊戲設計的方面講解了rpg開發中需要注意的問題。

3D手機遊戲引擎

一,寒霜2引擎 frostbite 2 engine 但手機上貌似不支援 二,虛幻3引擎 unreal engine 3 沒用過 三,unity 引擎 本人使用過 以上3d引擎我推測應該都是基於 opengl es2.0圖形庫支援嵌入式裝置。2d手機遊戲引擎 一,cocos2d x cocos2d ...

什麼是3D引擎

3d引擎作為乙個名詞已經存在了很多年,但即使是一些專業的引擎設計師,也很難就它的定義達成乙個共識。通常來說,3d引擎作為一種底層工具支援著高層的圖形軟體開發。你可以把它看成是對3d api的封裝,對一些圖形通用演算法的封裝,對一些底層工具的封裝。我無法準確的定義3d引擎的含義和作用,因為針對不同的使...

什麼是3D引擎

3d引擎作為乙個名詞已經存在了很多年,但即使是一些專業的引擎設計師,也很難就它的定義達成乙個共識。通常來說,3d引擎作為一種底層工具支援著高層的圖形軟體開發。你可以把它看成是對3d api的封裝,對一些圖形通用演算法的封裝,對一些底層工具的封裝。我無法準確的定義3d引擎的含義和作用,因為針對不同的使...