3d引擎開發需要那些技能儲備

時間 2021-05-30 04:04:46

1樓:向宇波

同作為小白,我嘗試過寫乙個簡單的遊戲引擎,應該不能稱之為遊戲引擎,只是對學過知識的一次嘗試運用。

《遊戲引擎架構》這本書真的得看,不然都不知道引擎有哪些功能,這個就很尷尬了。其次最好用遊戲引擎做過小遊戲,對遊戲引擎感性上有認識。有些開源的引擎還可以進去瞅瞅原始碼,思考為什麼人家這麼寫,可以有哪些改進。

這些都從巨集觀上把握。

對於引擎的細節,又分好多。大塊的比如渲染,這個就要求圖形學的知識,數學知識,熟悉底層的API。場景管理需要多注意四岔樹、八岔樹等資料結構。

讓引擎漂亮點還可以寫匯入模型,骨骼動畫的東西。物理系統比較難,自己視情況而定吧,並不是遊戲引擎必備的部分。集中到遊戲引擎上,可以就使用STL的容器,方便。

如果這些都能弄漂亮,相信題主對遊戲引擎會有乙個更好的認識。祝題主實踐順利

2樓:李巨集偉

俺寫過自己的手遊渲染引擎,也coding過前公司的demo引擎,現在寫乙個webgl渲染引擎,開發遊戲引擎需要的知識挺多的,這裡只說說我還熟悉的渲染引擎的知識。

1. 圖形API要掌握熟練至精通,從opengl 2.0到dx12,不但要玩過,最好積累過優化經驗。沒用過各大廠的profiling工具就不叫精通。

2. C++要好,資料結構要玩的來,自己實現個紅黑樹,hash啥的沒有問題。然後各種資料結構的空間時間複雜度要了解。場景管理要做好得靠這個硬功夫。

3. 計算機體系得學好啊,現在程式bound在cpu多,怎麼把cache用好對效能提高差好多。sse,mmx這些要能玩得轉,不然math庫咋寫? 對哦,還有arm的neon。

4. 計算機圖形的知識要懂,懂多少不好說。這就好比你要舉起100公斤的槓鈴得具備200公斤的爆發力,因為多餘的100公斤力量要用在控制上。

引擎要寫好,要具有擴充套件性,至少要具備深厚的graphics知識。比如舉個簡單例子,如果不了解deferred shading和forward rendering的具體差別,咋讓兩者實現在乙個引擎中呢?

5. 編譯知識要玩得轉啊,還得自己搞個高階的shader語言封裝低階shader

6. 各個平台的編譯系統和基本庫得知道,整套全平台的工程檔案都折騰2個禮拜。

7. 數學要知道些,不過用到不多,四元數和矩陣會用會寫就好啦

暫時說這麼多吧,手機打字,版面有礙觀瞻,見諒。這個問題的權威回答還是得請龔大大

3樓:

書可以給你一切,我的建議在這裡http://zero3d.cn/blog/post/38.

html

,我又來導流量了,見笑。

4樓:Xi Yang

1:了解顯示卡管線,在裡面的各種小坑大坑巨坑掉一遍。

2:熟練掌握C++,在裡面的各種小坑大坑巨坑掉一遍。

3:一些空間演算法,比如空間劃分,射線投射,相交檢測等等。

3D引擎應當怎樣組織渲染物件?

凱丁 你這樣大體思路其實沒什麼問題 首先做visibility檢測,這個可以用當前camera去遍歷當前的Scene Graph 八 四 B 隨便啦 當然還有別的更上牛的辦法 遍歷的過程中把看得見的RenderObject 挑出來,根據這個RenderObject的某些屬性放到對應的array裡面,...

256位元組3D程式是如何實現3D引擎的呢?

Mack 利用演算法生成資源的方式。有個第三方外掛程式substance也利用這種方式極大壓縮貼圖,可以使用他的材質庫或者工具生成貼圖,遊戲在執行時還原貼圖,極大的壓縮貼圖。和很多實時生成的大地形,無限種賽道等有些類似,利用時間換空間。 戴文宗 稍微補充下。這類效果和體積的Demo一般只會用到 ra...

工業 3D 圖形軟體與 3D 遊戲在開發流程上是否類似?

莫等閒 遊戲軟體和CAD軟體最重要的區別在模型。遊戲裡模型不重要,重要的只是其表現。CAD則剛好相反,模型資料必須保證正確無誤,但表現形式可以抽象一些。不論是遊戲還是CAD,圖形都是欺騙眼睛的玩意。但在遊戲裡,你觀察的角度,影響場景的能力都很受限,所以圖形資料可能跟所要表達的模型差別很大。而CAD裡...