在U3D等引擎當道的年代,我有沒有必要學opengl/dx或者osg???

感覺現在的大多數需求UNITY都能滿足了,現在還有學OPENGL的必要麼,不知道這個是不是涉及了重新做輪子的這種理論。。。從就業方面考慮呢,比如三線城市長春,UNITY一般程序員可以1W左右,OPENGL需求相對少點,工資稍微高點,整個中國的以後需求會怎麼樣。總感覺UNITY入門門檻低,很多創業公司招聘剛學會的學生,這樣的話自己就沒有優勢了,會C#,會點C++的情況下,有沒有必要深學OPENGL,就是在三線城市混碗飯吃而已。。。


1.現在還有學OpenGL的必要麼?

相信我,等你做這行做久了, 不管你是引擎程序還是邏輯程序,最後都會或多或少的學些圖形API。這個學習過程,跟著你的項目和你的興趣走就好了。

在這個行業,大多數人的知識樹都是"T"型的,單領域精深,多領域涉獵。對於老手來說,根本不存在 "做邏輯的完全不懂底層引擎,亦或者做引擎的完全不懂上層邏輯" 這種情況。

所以不要太在意「有沒有必要學OpenGL」這種問題。用到哪,學到哪。求知若飢,虛心若愚嘛。

2.就業方面

這方面,根據題主的問題來看,題主應該目前還沒有太多技術積澱,那麼在當今這個時候,我還是比較推薦Unity的。題主也說了,主要目的是在三線城市混飯吃, 那麼在這個問題上,真心不用糾結。

3.未來需求

這點上歷史總是驚人的相似,絕大多數技術在發展進程中都是 「底層技術人員的需求會不斷減小,門檻增加;上層技術人員的需求會不斷增大,門檻降低」。

4. osg

請不要在這上面浪費時間。~

最後總結一下:

說真的,題主,你想太多了。我感覺現在人經常犯的一個重要問題,就是 「想的太多,做的太少

我剛剛開始接觸遊戲開發時,只是一味的悶頭做自己喜歡的事情而已,哪裡還有時間去想 「XXX有沒有必要學? 就業怎麼樣? 行業未來需求怎麼樣??」


  • 如果你的 Unity 項目在設備上跑,你要 profile/debug,需要了解下圖形 API。
  • Unity 的 C# API 的圖形圖像功能在形式上也接近 GL。
  • OpenGL (ES) SDK 裡面的效果,你看懂了可以搬到 Unity 里實現。


如果你只是想做碼農,那麼就不用學。

如果你想哪怕稍微深入那麼一點點,那麼至少需要熟悉API,熟悉大致的渲染管線結構。

另外,OSG只是個渲染庫,也許比較經典,但並不見得比現代遊戲引擎裡面的渲染部分更高明。你既然看Unity,那就沒必要非得去看OSG。


個人覺得這個問題有點像剛出現RAD RAD=rapid application develop(快速應用開發)的時候,那時VB、Delphi這些工具的出現就像今日之unity,一個應用拖拖拽拽就可以做了,的確很快,但是最有用的功能還是靠手寫的,帶設計器的確節省了人力,但是做有水平的東西其實也沒什麼用,而且RAD工具隱藏了底層實現,使得開發它不提供的東西時就變得更困難,因為你沒有從基礎上學習。

想成為高手就不應該走捷徑,一步步從底層學起,GL或者dx就是底層,會他們肯定能讓你掌握那些unity選手掌握不了的東西。


osg和OpenGL DX不在一個級別上 謝謝


看你的職業目標了。

如果你的目標是做遊戲,那麼學不學D3D/OpenGL之類的沒什麼影響,學了是加分項,不學也不扣分。

如果你的目標是做遊戲引擎,那麼肯定得學D3D/OpenGL這類API。


推薦閱讀:

如何開始寫一個virtual globe軟體,類似於google earth那樣?
3d引擎開發需要那些技能儲備?
求實時渲染基本演算法好書推薦?
如何判定一點是否在給定頂點的不規則封閉區域內?
WPF 使用 OpenGL 4.5 繪圖太卡?

TAG:OpenGL | Unity遊戲引擎 |