本來(lái)計(jì)劃是最近一年專心寫(xiě)書(shū),不要花心思和精力寫(xiě)博客的,因?yàn)閷?xiě)一篇優(yōu)質(zhì)的博客文章其實(shí)也要花費(fèi)不少的時(shí)間構(gòu)思的:?jiǎn)纹┛碗m然文字少但是你可能需要花費(fèi)更多的精力在有限的篇幅內(nèi)包括更多上下文信息,以及更精簡(jiǎn)地組織內(nèi)容,在我看來(lái)它的創(chuàng)作付出不亞于圖書(shū)內(nèi)容寫(xiě)作(當(dāng)然如果作者對(duì)自己要求沒(méi)那么嚴(yán)謹(jǐn)?shù)脑捒赡芤矝](méi)那么嚴(yán)重)。
《游戲引擎全局光照技術(shù)》采取了一種新的出版形式,它從寫(xiě)作第一章開(kāi)始,就積極和社區(qū)互動(dòng)并開(kāi)始宣傳,其方式和游戲發(fā)行的思路一致:即在開(kāi)發(fā)階段不斷推出測(cè)試版積極和玩家互動(dòng),并收集反饋信息進(jìn)行持續(xù)改進(jìn)。這樣做的好處是:讀者較早獲得試讀版的信息,了解和監(jiān)督了書(shū)的寫(xiě)作質(zhì)量,從而可以做出有效判斷是否值得購(gòu)買(mǎi),糟糕的圖書(shū)質(zhì)量可能在這一階段就直接被淘汰,甚至失去了出版意義,從而保障讀者利益;同時(shí)對(duì)于作者,我能夠持續(xù)吸收社區(qū)反饋意見(jiàn)以改進(jìn)內(nèi)容質(zhì)量,使圖書(shū)的質(zhì)量可以不斷地形成增益,好的內(nèi)容能夠被社區(qū)傳播擴(kuò)散;這對(duì)于讀者和作者都是一件共贏的事情。
為此,我已經(jīng)提供了該書(shū)1,2,3三章共計(jì)157頁(yè)正文的試讀內(nèi)容供所有對(duì)該書(shū)感興趣的朋友免費(fèi)下載,如果您還不知道可以從這里下載。然而盡管如此,從目前社區(qū)討論的信息來(lái)看,大部分讀者還是不太明白這本書(shū)跟其它同類書(shū)籍會(huì)有什么不同,盡管我已經(jīng)使用一個(gè)問(wèn)答的形式來(lái)簡(jiǎn)要概述這本書(shū)的特點(diǎn),然而我們都知道,這些文字跟你在技術(shù)大會(huì)上那些廠商遞給你的一個(gè)介紹他們公司產(chǎn)品的小冊(cè)子上的文字一樣:在你使用它們的產(chǎn)品之前,那些文字通常跟屁沒(méi)有什么差別。
所以我需要寫(xiě)一點(diǎn)更通俗篇幅相對(duì)長(zhǎng)一點(diǎn)的文章來(lái)解釋這本書(shū)的內(nèi)容和特點(diǎn),通俗使得您可以像讀其它社交信息一樣很輕松地進(jìn)行閱讀,不需要太多思考和理解,而篇幅需要長(zhǎng)到足以介紹這本書(shū)覆蓋的內(nèi)容和特點(diǎn)。正巧在百度貼吧的“孤島危機(jī)吧”看到一篇想要了解各種全局光照技術(shù)的特點(diǎn)及聯(lián)系的帖子,他所提出的問(wèn)題正是本書(shū)試圖去討論的內(nèi)容,所以我就想回答了他的問(wèn)題其實(shí)基本上能夠說(shuō)明這本書(shū)的內(nèi)容和特點(diǎn)。
學(xué)習(xí)全局光照技術(shù)(Global Illumination,以下簡(jiǎn)稱GI)比較頭疼的一個(gè)因素是它的方法派別太多了,每個(gè)算法可能涉及到完全不同的數(shù)學(xué)方法,而如果我們沒(méi)有對(duì)方法本身的思路具有一定的理解,在運(yùn)用方面也不會(huì)很順手,尤其涉及到要進(jìn)行優(yōu)化或修改以滿足特定需求時(shí),你必須要比較全面的理解該方法:它的起源,歷史,數(shù)學(xué)模型,新方法的優(yōu)缺點(diǎn),它在計(jì)算性能和圖像質(zhì)量方面有著怎樣的折中等等;并且,通常每種方法并不像一個(gè)軟件模塊那樣比較獨(dú)立很好理解,每種GI算法往往涉及CPU/GPU的數(shù)據(jù)結(jié)構(gòu)表述,內(nèi)存布局以及訪問(wèn),和渲染管線其它階段(如Deferred Shading,AA等)的協(xié)作,圖形接口的運(yùn)用,算法處理器級(jí)別的優(yōu)化等,這些因素使得GI的學(xué)習(xí)并不那么輕松。
所以我在2015年初就萌生了寫(xiě)作一本圍繞各種GI技術(shù)來(lái)進(jìn)行內(nèi)容組織的書(shū)籍,它不像《Real-time Rendering》這類書(shū)籍一樣基本上以各個(gè)理論知識(shí)點(diǎn)為中心,它以方法為中心(盡管如此,本書(shū)還是包括了將近300頁(yè)的基本理論知識(shí)的介紹),著重討論各種GI方法背后的思路以及方法之間的聯(lián)系,因此它較偏理論性的書(shū)籍擁有更強(qiáng)的實(shí)踐性。這種寫(xiě)作思路其實(shí)類似于《Advanced Global Illumination》(簡(jiǎn)稱AGI),但是AGI基本上主要圍繞路徑追蹤和輻射度理論兩種方法來(lái)講述,其它一些如光子映射等有一定的介紹,但是篇幅極短;本書(shū)不但會(huì)介紹路徑追蹤和輻射度理論等這些離線全局光照技術(shù),還會(huì)介紹時(shí)下比較流行的距離場(chǎng),體素等實(shí)時(shí)的全局光照技術(shù),并且本書(shū)結(jié)合Unreal Engine等游戲引擎來(lái)講述,讀者更夠更好地理解這些引擎的功能特性。
這篇文章,我們就來(lái)看看全局光照技術(shù)的進(jìn)化史。遵循通俗的原則,本文不會(huì)包含數(shù)學(xué)公式,全部?jī)?nèi)容是以文字和配圖描述,當(dāng)然這樣的方式肯定不可能包含很多細(xì)節(jié),它更注重的是思路描述,更具