3D编程的4个境界
?
3D編程的4個境界
很久沒來這了,也一直想寫點東西,可惜沒時間寫。昨天突然想到點東西,想寫下來。
說說3D編程的4個境界吧,由于我個人水平和見識有限,以及時間比較倉促,說的不對不好,還請諒解和指正。
第一階段:初學者階段。
這個階段主要是熟悉3D圖形學的基本原理,和基本api的使用。
特別是對于空間的變換,矩陣的原理要有非常清楚的認識。
能夠用簡單的資源,做一個簡單的demo,基本上就是達到了。
這個階段比較簡單,基本上每個人都可以達到,學習方法也很簡單,就是看書,看demo,寫代碼。
時間周期大概1年。
?
第二階段:進階階段
過了第一個階段,一般人會走兩條路。一種人會選擇直接學引擎,開發游戲。另一種人,會選擇先學場景管理和高級渲染。
這個視每個人的目標和愛好不同有所不一樣。
做好demo后,就會想著怎么讓效果更好,于是就學了很多高級渲染,比如陰影,法線貼圖,HDR,反射折射等。
做了很多效果后,發現效率低下,于是就寫一些場景管理方案。
能夠基本實現場景管理和一些高級效果,基本上這個階段就到達了。
國內大部分3D程序在這個階段。
這個階段要難點,自學達到需要一些毅力。如果你在公司里做,有人指導,也有測試資源,那會容易很多。
這個階段的瓶頸在于沒有經歷過非常復雜的場景和效果,對于3D認識還是比較孤立的。不過已經打下了良好的基礎了。
這個階段應該也都開始熟悉一款引擎了。
時間周期每個人差別很大,1-2年左右。
第三階段:3D成熟階段
當第二階段學得很好的時候,就會覺得自己像個高手了。有的人開始自己設計開發3D引擎了。
當發現,自己設計的場景管理和渲染都很不錯的時候,可是效率還是不盡如人意。
當效果復雜,每幀都需要多遍渲染場景的時候,就發現了,原來還是做了很多重復的事情,以及占用了很多重復的資源和帶寬等。
這個時候會靜下心來,好好想想場景系統和邏輯該怎么設計才能效率最高,沒有重復計算。
了解硬件的資源管理方式,結合自己的需求,解決資源的不當占用和帶寬的隨意浪費的情況。
深入熟悉硬件,徹底了解顯卡流水線的特性,充分利用流水線的特性進行優化,這個時候對dx/opgl api也已經非常熟悉了,甚至一個枚舉參數都了解它背后的意義。對于圖形的debug,也非常熟練了,一般的渲染問題很快就解決了。
這個時候應該知道根據不同的游戲類型構建不同的場景系統了,即使是設計wow,crysis這種場景也可以,知道該怎么設計材質系統,以及effect 框架了。
這個階段是最煎熬的階段,也是最開心的階段。
成長情況更是差別巨大,環境應該是至關重要。
大部分引擎其實在效率上都沒完全達到這個程度。
時間周期1年以上,上不封頂,很多人估計都到不了這個層次。如果人夠聰明,基礎夠好,環境也好,1年就夠了。
這個階段的一個特征,圖形已經很簡單了,不想再說啥了。
第四階段:達人階段
第三和第四階段也許沒有明顯分界線。但有點是肯定不同的。
第三個階段還是花很多時間在學習摸索,到第四個階段,就是在尋求解決方案了。
更關注創作了。也許他覺得市面上沒有讓他非常滿意的引擎,至少很難找到適合中國國情的引擎。
也許他會帶著一幫小弟一起做引擎,也許是做游戲。
這個階段技術已經不是唯一追求的目的了,還有很多很多其他的方面他會關注。
因為他的目的是讓整個社會承認他的價值,明白一點只有技術是不夠的。
這個階段特征我也不是很清楚,無法一概而論,國內我只見過幾個人達到或者超越了這個階段。
看看自己是屬于第幾階段的。
以后有空再補充,先上班了。
補充:
第二階段和第三階段,是由明顯的分界線的。
要從第二階段過渡到第三階段,必須要寫引擎,或者修改引擎來達到自己希望的目的。
本質上講,第二階段是學習各個技術,第三階段是集成。就像武術里,第二階段有點像在館子里練招數,第三階段就是在外面和真人實戰。
第三階段會讓你有很多頓悟,環境好,身邊高手多,自己基礎好,悟性高,一年是可以達到的。
?
轉載于:https://www.cnblogs.com/lizhengjin/archive/2010/11/23/1885251.html
總結
- 上一篇: sharepoint 2010学习资源汇
- 下一篇: 物联网带着诚意扑面而来