專訪馮樂樂】這是你們的shader女神,更是一位藝術家

      網友投稿 5495 2025-03-31

      異步社區:可以先介紹一下你自己嗎?

      異步社區:你曾經說是誤打誤撞選擇軟件工程這個專業?能詳細說說嗎?

      馮樂樂:哈哈我在哪里說的我自己都忘記了。我本身在高中沒有接觸過計算機編程,當時很喜歡數學,在高中老師的建議下學習了數學競賽,然后得了省級數學競賽二等獎。雖然只得了二等獎,但還是依靠這個獎項參加了五校聯考,當時五校包括了交大、清華等一些高等院校,考試較好的學生可以獲得高考相應院校的降分政策。當時我的第一志愿就是交大,后來也順利通過了,因此交大會在錄取分數線的基礎上降30分錄取。幸運又不幸的是,高考果然發揮失常,哈哈不過還好有這30分因此還是順利被交大錄取了。不過也因此無法自主選擇專業,軟件工程專業就是經過交大調劑后的結果。后來進入大學后得知這個專業很多同學都是調劑進來的:),我們推想原因大概是這個專業學費較高導致大家都去CS專業啦,哈哈。實際上之前在五校聯考時也填報過專業志愿,依稀記得好像的確也有選擇軟件工程,只是排名很后。當時對專業什么的基本沒什么想法,因此最后進入這個行業的確算是誤打誤撞吧。

      異步社區:作為上海交大軟件學院的研究生,你的典型的一天是如何度過的?

      馮樂樂:哈哈這個問題有點難倒我了,我也不知道怎么說。我可以說下我認為研究生和本科生階段的不同吧,當時只是我個人的感覺,大牛的經歷自然和我完全不同啦:) 我并不是一個有“先天優勢”的人,大學之前完全不了解計算機編程,雖然專業是被調劑的,但所幸的是大學四年讓我愛上了這個專業。如果說本科讓我逐漸認識熟悉了計算機編程,那么研究生就讓我的眼界看得更高了。我們有一個老師曾這么形容過本科和研究生的不同:“本科只是需要你學習一些東西,而上了研究生之后就需要你真的研究一些東西了。”很多人喜歡說自己在研究某某技術,聽了這個老師的話之后我很少敢說自己是在研究,而一般都是說自己在學習某項技術。按這個老師的話來說,研究是從無到有的過程,是需要你去一個前人沒有去過的領域,得到一些新的東西。當然這個過程是非常難的,能最后做到的人也少。研究生階段導師會鼓勵我們選擇一個自己感興趣的領域,然后閱讀該領域最經典和最前沿的論文,嘗試實現它們并進行改進,如果能發現一個新的研究點自然更好。所以我的研究生期間的每一天大概都是在不斷進行這個過程 :)

      異步社區:平時喜歡玩哪些游戲?你比較欣賞哪些游戲?為什么?

      大二時做的體感游戲

      總體說來,我喜歡玩類似《安琪拉之歌》這種畫面精美或是讓人放松的游戲。我對一些3D的FPS游戲本能的會頭暈,因此很少玩那種游戲……但不可否認的是這些游戲在渲染上做得非常出色,這也是我一直想要學習研究的方向。我平時更加愿意玩一些游戲風格獨特的單機游戲,像《光之子》《奧日》《饑荒》這種。

      異步社區:你自己是如何入門學習Unity Shader的呢?

      馮樂樂:學習Unity Shader完全是一種個人興趣吧。一開始寫Unity Shader也是感覺一頭霧水,雖然之前寫過GLSL,但由于Unity進行了封裝,很多原理和方法不甚了解。后來逐漸對渲染感興趣之后,覺得Unity是一個可以非常方便的實現各種想法的工具,就想要學習Unity Shader的編寫。官方文檔當時寫得很不好,自己谷歌之后找到了《Unity Shaders and Effects Cookbook》這本書就開始自學,并在博客上更新自己的學習記錄。當時博客并沒有像現在這么為人所知,我選擇寫博客的原因大多也是怕自己忘記,因為其實平時學業上并不需要經常接觸這些內容。學習完《Unity Shaders and Effects Cookbook》后,就開始搜索更多的資料,再通過一些自己的分析逐漸對Unity Shader更加了解了。Shader入門之后其實更多的是算法的積累,Unity只是提供了這樣一種封裝和工具,后來就開始嘗試用Unity Shader實現一些算法,我的博客也開始被更多人關注了。寫《Unity Shader入門精要》一書的原因大多是想把我學習到的一些經驗傳遞給更多的人,有讀者說我的經歷鼓舞了他們,讓他們對學習Shader充滿了信心,哈哈。

      異步社區:學習shader之前需要對計算機圖形學有一定的了解嗎?

      馮樂樂:當然需要啦。很多人把shader看得很神奇,很高深,其實也并不是這樣的,它只是整個流水線里面的一個環節,沒了渲染流水線,shader就是一個字符串什么也干不了。但讀者也不用總覺得計算機圖形學這個詞語很高級,很遙遠,其實只要跟圖形圖像打交道的每天都在跟圖形學接觸。想要達到入門程度,也不需要了解非常底層的渲染架構,這本書在編排上也考慮了這一點,我已經把我認為必需的圖形學相關內容在書的基礎篇中進行了講解,當然一本書的內容是遠遠不夠的,我相信真正喜愛這一領域的讀者會在閱讀本書后找到更多的資料來進行更深一步的學習。

      異步社區:你在學習shader時,如果碰到自己解決不了的問題,怎么辦呢?

      馮樂樂:我總感覺很多人把shader看得非常高大上,其實在了解了它的工作原理和機制后,后面的學習更多是在編寫算法、實現某種特效、優化性能等。學習shader本身的工作原理并沒有非常復雜,難的是根據要求實現渲染算法以及后面的性能優化。當然,Unity Shader由于它的特殊性會需要我搜索一些Unity的實現原理等。如果是Unity對于某個功能的實現原理我搞不清楚的話,當然第一時間是去谷歌搜索,實在找不到解決方案會去相關的論壇、交流群等尋求幫助。更多的困難其實是算法實現和優化,這部分沒有非常好的解決方法,需要靜下心來好好學習下算法,當然身邊如果有非常有經驗的前輩,和他們交流肯定可以大有收獲。搜索資料一定要用谷歌搜索,一定不要懼怕英文,善用英語搜索詞。

      異步社區:平時關注哪些游戲開發和渲染相關的論壇或博客?

      馮樂樂:我平時喜歡去GDC Vault看一些視頻,然后有時也會去SIGGRAPH Course上找找相關的課程,這些都是擴展眼界的很好的地方。晚上睡覺之前一般會刷一下Twitter,上面關注了一些相關領域的大牛,他們的動態也能提供很多有意思的內容,遇到特別感興趣的就會去搜下相關資料。經常看的博客有:

      iq的博客(http://www.iquilezles.org/www/index.htm)

      Simon的博客(https://simonschreibt.de/)

      Aras的博客(http://aras-p.info/blog/)等等。

      Shadertoy(https://www.shadertoy.com/)平時也一直關注。

      國內的博客會關注雨松前輩的博客(http://www.xuanyusong.com/)。總之就是平時搜資料的時候多用谷歌,慢慢就會積累很多很好的資源啦 :)

      異步社區:大家知道你最早是在CSDN開始寫shader方面的博客分享學習心得,寫一本書和寫技術博客相比,有哪些不一樣的地方呢?

      馮樂樂:最大的不一樣就是寫博客的時候更多是想著自己,寫書的時候要時刻想著讀者啊哈哈。說實話我寫博客是為了記錄,好記性不如爛筆頭嘛,寫作過程中并不會考慮這個內容別人會不會、知不知道、能不能看懂等等,博客首先是寫給自己看的,其次才是寫給網友看的。寫書就不同了,寫每一句話的時候都要先問下自己,這個知識點有沒有講過,讀者會不會看不懂。寫書最重要的是要讓讀者能夠看懂。之前有一個讀者問我某個書里某句代碼為什么要這么寫,我看了他的問題之后發現這是之前章節講過的。如果這是篇博客,那么這個知識點我可能就完全不會講解。但由于這是一本完整的技術書,我一定會詳細解釋每一個重要的知識點。這就是個例子,如果讀者能從前往后閱讀的話,我相信絕大部分內容都是可以看懂的。

      異步社區:《Unity Shade入門精要》這本書的寫作花費了多長時間?期間碰到什么困難嗎?

      馮樂樂:2015年6月的時候張濤編輯找到了我,我在2015年11月初的時候完成了初稿并交給了出版社,因此整個寫作過程大概5個月吧。最開始的挑戰和困難就是確定整本書的目錄,Unity Shader處于一個比較尷尬的位置,既被層層封裝,但同樣需要了解shader語言,而這本書的定位是面向初學者,甚至是那些沒有怎么寫過程序的美術人員。所以如何把內容寫得循序漸進、讓學習曲線平緩上升是最重要的問題。當時參考了很多我閱讀過的優秀書籍和網絡資料,例如OpenGL的一些入門書籍是如何編排的,最后確定下來了現在大家看到的目錄,希望讀者能夠適應和喜歡這樣的安排。

      【專訪馮樂樂】這是你們的shader女神,更是一位藝術家

      在后面編寫的過程中,數學章是一個比較大的挑戰,大家都知道寫shader需要學習一些線性代數方面的內容,這一部分是很多讀者害怕的領域,大家總是一提到數學就頭疼哈哈,但是沒辦法,我盡可能想把這部分寫得有趣一點,容易閱讀一點,期間也參考了很多資料,而且由于涉及到很多公式,特意選擇了Markdown作為書寫工具,手打的公式大概有幾百個了吧,當時一天打下來手指頭都累了。這一章也是全書耗時最長的章節之一。

      由于是面向初學者,因此涉及到的內容都不會太難,但對我而言難的是把每個重要的知識原理都講清楚、講明白,而且要講正確。Unity Shader現有的一些資料的通病就是原理一帶而過,甚至是不講,這對初學者是很不利的,我寫這本書也是為了改善這種情況。這個理念一直貫穿了整個寫作的過程,遇到算法的話我盡量會繪制更多的圖例進行解釋,更加困難的是Unity對某些實現進行了封裝而又沒有提供文檔說明,這部分內容更加難寫,只能通過大量搜索和實驗來驗證Unity的實現方式和原理。

      異步社區:你理想中的工作是什么樣的?

      馮樂樂:和很多選擇從事這個方向的人差不多,我是個“外貌協會”,對如何使用計算機來產生各種絢麗的畫面很感興趣。我理想中的工作自然也是希望和這方面相關。而且我還是在校學生,馬上畢業,也很希望可以去相關行業和這方面的前輩一起學習工作。

      最后,買一本《Unity Shader入門精要》,就當是給女神送朵花、點個贊吧~

      本文轉載自異步社區

      軟件開發

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel VBA“對于指定的操作,該主題不受信任。”的解決方法
      下一篇:我的發貨表打不開了
      相關文章
      亚洲自偷精品视频自拍| 亚洲综合在线另类色区奇米| 亚洲高清无码专区视频| 亚洲av日韩av高潮潮喷无码| 亚洲gv猛男gv无码男同短文| 亚洲今日精彩视频| 亚洲AV永久精品爱情岛论坛| 久久亚洲欧美国产精品| 亚洲成a人片7777| 精品亚洲一区二区三区在线观看 | 亚洲äv永久无码精品天堂久久 | 亚洲中文字幕一二三四区| 亚洲色WWW成人永久网址| 亚洲AV中文无码乱人伦| 亚洲欧美第一成人网站7777| 久久亚洲最大成人网4438| 亚洲剧场午夜在线观看| 亚洲综合丁香婷婷六月香| 亚洲三级视频在线观看| 亚洲人成图片网站| 亚洲国产成a人v在线观看| 亚洲男人的天堂久久精品| 亚洲国产日韩在线成人蜜芽| 亚洲人成综合在线播放| 国产精品亚洲专区在线观看 | 亚洲人色婷婷成人网站在线观看 | 亚洲日韩精品国产3区| 亚洲色成人网站WWW永久四虎 | 精品久久亚洲一级α| 亚洲精品国产精品国自产观看 | 亚洲a级片在线观看| 亚洲色大成网站www尤物| 亚洲AV无码AV日韩AV网站| 亚洲AV网站在线观看| 亚洲日韩在线观看免费视频| 亚洲伊人久久大香线蕉综合图片 | 亚洲爆乳少妇无码激情| 亚洲高清视频一视频二视频三| 亚洲精品国产高清嫩草影院| 国产亚洲人成网站观看| 亚洲视频在线不卡|