大學生|想當圖像程式設計師,卻苦於找不到途徑?全文告訴你!

2021-01-12 騰訊網

[ 轉載自 CocoaChina ]

不論你是剛完成學業的新人,還是已經在行業中試水不同角色的老手,希望本文能夠讓你獲知成為一名圖像工程師需要具備的知識。

了解硬體

了解將執行你代碼的硬體優勢和弱點對於任何程式設計師來說都很重要,但它卻是圖像工程師的必需技能。讓你的遊戲看起來美觀很重要,但要讓這些精緻的效果以目標幀率運行卻是一項更為棘手的任務。

當然,寄希望於你了解基本硬體的每一個細節也太不現實了(對於剛上任的新人來說尤其如此),但在我看來,你至少要比較清楚製作3D模型涉及到哪些技能。

這一領域的求職者應該知道普遍的GPU管道階段(例如,頂點和像素著色器,光柵化程序等),了解它們的功能,以及它們是否可編程、配置或修復。

通常情況下,我們有許多方法可以執行一個渲染效果,所以很有必要知道在特定的目標設備上最好使用哪個解決方案。

沒有什麼比因為GPU並不能很好地支持一個必要功能而要求美術人員調整其所有現成資產的情況更糟糕的了。

例如,我目前正在開發的一款遊戲瞄準的是桌面電腦以及行動裝置,這一點很重要,因為移動GPU的性能特點與桌面電腦極為不同。我們的團隊在制定場景複雜度以及特效類型的決策時就要考慮這些不同點。

了解更多關於GPU的一個好方法就是去看看《Real-Time Rendering》(第三版)的第18章,因為它包含了關於Xbox 360、Playstation 3和Mali(移動)渲染構架的詳細概況。

優秀的數學能力

淵博的三角法,線性代數甚至是微積分知識對於圖像程式設計師來說極為重要,因為這一職業的許多日常工作就涉及到多種複雜程度的數學問題。

我當然希望求職者了解圓點和向量積產品,以及它們在計算機圖像中的作用。除此之外,了解矩陣內容也很有必要,因為調試一個渲染問題可能有必要手動「分 解」一個矩陣,以便鑑別錯誤值。

例如,不久前我就不得不修復我們動畫系統的一個問題,並且純粹是通過查看結點矩陣找到了問題的根源。

在我看來,求職者應該能夠分析性地計算射線與平面之間的相交情況。此外,我還希望每個渲染工程師都能夠輕鬆獲得反射向量。

我們可以在網上找到許多相關資源。《3D Math Primer for Graphics and Game Development》一書就很好地解釋了許多關於向量、矩陣和四元法等相關話題的基礎知識。

我強烈推薦大家在紙上運算而不是查看現成的方案來解決這些 問題。這個過程的確很有趣,所以你不妨自己動手一試。

對計算機圖像的激情

理想的求職者應該能夠跟上最新的計算機圖像發展速度,對於這個不斷而迅速發展的領域來說尤其如此(比較一下10年前和今天的遊戲圖像保真度就清楚了)。

這方面有許多有趣的調查報告,開發者演講和技術博客(你可以在網絡上找到),所以你應該很容易找到自己感興趣的內容。

當然,執行一個算法就是了解它的最佳方法,它還可以成為你面試中的談資。編寫很棒的圖像樣本也有助於鍛練你的技能,並且這個過程也實在有趣。

如果你想最大化自己成功求職的機率,就要確保投入了一定時間將樣本製作得更美觀。你可能執行了最有效的細分曲面算法,但如果人們看不到效果就不會產生什麼深刻的印象。

創造令人愉悅的圖像是這個職業的一個重要部分,所以最好還要證明你的技術過硬。

性能分析和優化

像程式設計師的職責之一就是分析遊戲,以便確定和移除其中與渲染相關的瓶頸。如果你才剛入行,我也不會寄希望於你在此領域擁有大量的實戰經驗,但你應該知道與CPU和GPU相關的區別。

理想的求職者至少要能夠使用諸如PIX(DirectX SDK的一部分)、gDEBugger或英特爾的GPA等圖像分析工具。

這些應用都是免費的,有助於你進一步查看GPU內部的情況,隔離漏洞(註:例如在 繪製幾何體時出現的不正確的渲染狀態)以及鑑定性能問題(例如紋理延遲,著色器運行緩慢等)。

總結

圖像程式設計師的工作很棒,因為它與產品的視覺外觀直接相關。遊戲的外觀(如預告片,截圖等)通常決定玩家對產品的第一印象,對我個人來說這是個十分愉快的體驗。

說實話,你無法每天都編寫出色的著色器。你應該準備從事其他的任務,例如數據壓縮(如紋理、網格、動畫)

數學和幾何問題(如選擇,相交計算)以及大量分析和優化工具。後一項任務尤其具有挑戰性,因為GPU及其相關驅動器無法調整。

總而言之,成為渲染工程師需要大量的專業知識,它當然並不是在遊戲行業立足的最便捷方式,但如果你對計算機圖像很感興趣,也許它就是你命中注定的選擇了。

相關焦點

  • 參考文獻找不到?讓過來人告訴你怎麼辦
    臨近畢業季,相信很多大學生們或研究生們已經開始為自己的畢業論文頭疼了。想不出題目怎麼辦?老師要求的參考文獻數量為五十篇,找不夠怎麼辦?所以,今天小編就給大家說說我寫畢業論文的經驗,希望會對同學們有所幫助。
  • Java程式設計師需要什麼學歷才能找到工作?學歷低怎麼辦?
    很多人應該都聽說過一句話:學歷代表不了什麼,只要技術好,小學學歷也可以很多人在聽到這句話後,就毅然決然的衝進IT行業,通過培訓等等途徑,想要進入這個行業拿高薪,然而現實又是那麼的殘酷,這些學歷低的人往往是花了不少錢最終還落得個找不到工作的下場為什麼會這樣?
  • 計算機畢業,遲遲找不到工作,可以往這3個行業發展,前景不錯
    計算機畢業,遲遲找不到工作,可以往這3個行業發展,前景不錯很多大學生畢業之後,對於找工作會比較迷茫,因為有些人在大學學的東西都是比較理論性的知識,而且很多東西都是粗略地學習一下,並沒有過多地深入研究。我的一個高中同學,大學是廣告系的,除了學習廣告的相關理論知識外,還要學習攝影、剪輯視頻以及平面設計等東西,不過學的都是一些比較基礎的操作以及知識。
  • 資深程式設計師大佬告訴你,如何成為一個C++高級程式設計師
    我想把我自己的經驗分享給大家,希望幫助新人少走些彎路。在此我們不討論具體的技術細節,只說我們應該學習什麼東西。一、技術能力1. 語言我們要成為一個程式設計師,學的東西會很多很雜,但是最開始一定要從語言開始學習,而學習語言最關鍵的莫過於選好一本書,學校的教材就算了,根本沒 有寫得好的。
  • 高級程式設計師是如何從初級程式設計師演變的?工作經驗不再是唯一途徑!
    分析必須在多個層次上進行: ● 為更好地執行所做的自我分析 ● 為更好地交付所做的客戶需求分析 ● 為幫助每個人更好地完成工作所做的對整個項目的分析 如果你想從初級成為高級開發人員,你需要培養這些分析技能,以蛻變成一個真正優秀的高級開發人員。
  • 程式設計師的這108個笑話 你都看得懂嗎?-程式設計師,笑話,編程, ——快...
    22、Delphi象吉普車,什麼路上都能開,卻在啥路上也開不好;PB就象卡丁車,只能在固定線路上開,到室外就有些不穩;VC象跑車,你開得起卻買不起,而且一旦發生故障,想修都找不到毛病在哪;Java象敞棚車,不管颳風下雨還是豔陽高照,都能照開不誤;VB就是摩託車,騎的時間越長,你越痛恨它!23、上聯:MYSQL明月三千裡 下聯:XHTML.信號他媽爛!
  • 程式設計師不要總想著四兩撥千斤
    農民工確實收入微薄,但 08 年後有了改善,我記得我有個哥們他做木工,別人找他幹活,他說沒有 400 一天他不幹,那還是 2009 年的時候。初中教科書就告訴我們市場要講供需關係,那麼工種其實也是由供需決定的。08 年我們大力發展基建,對於農民工而言,其實是幸福的,因為需求的旺盛,農民工的收入也是水漲船高。
  • 普通程式設計師與高級程式設計師有什麼差別?你知道嗎?
    世界上,程式設計師界的大神很多,諸如Margaret Hamilton(阿波羅計劃飛行控制軟體的幕後英雄)、Donald Knuth(《計算機編程藝術》的作者)、Ken Thompson(Unix 締造者)等等,當你去了解他們的經歷時,你會發現他們能夠達到這種登峰造極的境界,無非是天賦加上努力。
  • 對程式設計師的薪資有多大影響
    另一方面,在那些沒有沒有受過高等教育的人中,有些人是無憑人才,是千裡馬;有些人不思進取,安於現狀;還有一種則是知識是沒文化,想坐享其成的人!在社會上,很少有那種無憑人才,他們混跡在人海中,如果你是一個領導,你會當伯樂嗎?作為一個公司來說,最主要的目的就是賺錢,沒有時間,並且不會花費太多精力去尋找這種無憑人才!2、教育會給人們帶來什麼樣的影響?
  • 程式設計師及嵌入式的一些學習建議
    但是又有幾個人能走到設計師、經理的位置,這使得好多想做程式設計師的畢業生很猶豫,不知道到底該不該做程式設計師。其實大部分職業都一樣,有能力的自然會往高處走,沒能力的自然就被淘汰。優勝劣汰的原則大家都知道,幹別的行業三四十歲無所建樹不也玩完嗎?
  • 調查顯示大學生天文知識貧乏 竟找不到北鬥七星
    記者從浙江林學院獲悉,該校廣播臺學生記者團近日完成的一份調查問卷顯示:超過70%的大學生天文知識貧乏,有近一半的大學生連北鬥七星都找不到。  7月22日將出現幾百年一遇的日全食天文奇觀,在大家翹首以待的日子裡,該校廣播臺學生記者團因此就大學生對天文知識的了解情況進行調查,調查對象涉及全省20多所高校。
  • 404 的傳說:你訪問的頁面找不到了!
    如果你要訪問網頁,必須向這個房間提交申請,如果找不到這個網頁就會提示你「404 not found 」。當人們讓 Berners-Lee 就 「 404 錯誤」發表意見時, Berners-Lee 以這是無關緊要的瑣事為由拒絕置評,讓這段傳說更加撲朔迷離。
  • 女大學生沒有方向感,搭順風車找不到北,誣陷司機打人
    方向感是個好東西,可惜很多人沒有,尤其是女的,只能分清上下左右,對於東西南北是沒有概念的,方向感是與生俱來的但是現代的科技發達了,很容易看出東南西北,如果有點相關知識,也能找到東西南北,杭州一個女大學生姐弟倆搭乘順風車,在司機接他們的時候,司機告訴他們往北走,但是他們沒有方向感,愣是找不到北在哪裡
  • 大學生找不到工作撿垃圾維生 校長:自食其力
    「當時也不知道自己想做什麼,我喜歡旅遊,所以一開始覺得這份工作挺不錯的,但後來發現實際和想像不一樣。」他說。每天重複的工作,加上在公司上班並不自由,讓張永感受到了現實的骨感。於是,今年4月他辭了職。之後,張永約了一個高中同學騎行去越南,「從南寧,一直到了越南胡志明市,想出去看看。」
  • JavaScript正則表達式「程式設計師培養之路第十二天」
    圖一第二節 創建正則表達式通過new運算符定義RegExp是一個對象,可以通過new運算符聲明一個正則表達式:var re = new RegExp("a","i");//這是個最簡單的正則表達式,將匹配字母a,第二個參數i,表示匹配時不分大小寫字面量定義//全文匹配
  • 當程式設計師告訴父母真實工資後:親戚開始嫉妒,如今想把話收回來
    程式設計師告訴父母真實工資後,親戚開始嫉妒最近就有一位網友就遇到這樣的問題,父母就問到底有多少錢一個月,而網際網路行業的薪水都是非常高的,如果是程式設計師月薪是有一兩萬的,這樣的收入在農村可是無法想像中的那麼高的。這位網友就說了真話,沒多久所有的親戚都知道了,可以感覺到他們憤怒加嫉妒,包括自己的父母,現在想知道怎麼把話收回來。
  • 被嫌棄的35歲程式設計師
    到底要不要轉型,當你做決定的時候,可以先思考下這兩個問題,一是想轉到什麼崗位及評估自己是否具備該崗位所需的技能;第二,是否熱愛這個行業,並願意始終在這個行業學習。有程式設計師表示,獵頭找他的理由很直接「你的年齡也不太年輕了,想邀請你過來,希望你帶一個團隊」,聊的話題也基本圍繞過往的管理經歷。這或許能解釋為什麼程式設計師們擔憂過了 35 歲再不轉管理就來不及了。這就好比很多人 30 多歲了被催婚,傳統的觀念總認為,到了某個年齡,就意味著必須要到達一個階段。
  • 程式設計師「不惑」的 30 歲到了,就該給年輕人讓位嗎?
    一個最明顯的指責出來了:IBM 你存在「年齡歧視」!但 IBM 是怎麼回應的呢?它說,我們為公司和員工能夠重塑自己能力(ability to reinvent themselves)而自豪,這也是為什麼我們是唯一一家超過100年的科技公司。照這樣來看,IBM 認為,裁掉的正是那些無法自我提升的員工。那問題來了,如果平日程式設計師工作很忙的話,又該如何找機會自我提升呢?
  • 為什麼軟體工程師找不到工作?我想分享四個「恐怖故事」
    編者按:作為一個程式設計師,如果沒有收到心儀的工作offer,你是不是會對自己失去信心?對接創業者和程式設計師的網站coderfit.com 的創始人Iwan認為你無須擔心。他分享了四個「恐怖故事」,告訴我們——那些厲害的工程師被拒絕的原因,很可能與他們的業務水平或文化契合度無關。本文由36氪編譯。
  • 26歲大學生在家待業2年,出來3個月找不到工作,網友:活該!
    26歲大學生在家待業2年,出來3個月找不到工作,網友:活該!小李今年已經26了,畢業也已經兩年多了,按理說,他最少也應該工作兩年了,可是小李的工作經驗連半年都談不上。小李的工作經驗,滿打滿算也就4個月,這還算了試用期。小李在學校的時候,剛進入大學的前兩年,還算有點學習的心思。