本來計(jì)劃是最近一年專心寫書,不要花心思和精力寫博客的,因?yàn)閷懸黄獌?yōu)質(zhì)的博客文章其實(shí)也要花費(fèi)不少的時(shí)間構(gòu)思的:?jiǎn)纹┛碗m然文字少但是你可能需要花費(fèi)更多的精力在有限的篇幅內(nèi)包括更多上下文信息,以及更精簡(jiǎn)地組織內(nèi)容,在我看來它的創(chuàng)作付出不亞于圖書內(nèi)容寫作(當(dāng)然如果作者對(duì)自己要求沒那么嚴(yán)謹(jǐn)?shù)脑捒赡芤矝]那么嚴(yán)重)。

《游戲引擎全局光照技術(shù)》采取了一種新的出版形式,它從寫作第一章開始,就積極和社區(qū)互動(dòng)并開始宣傳,其方式和游戲發(fā)行的思路一致:即在開發(fā)階段不斷推出測(cè)試版積極和玩家互動(dòng),并收集反饋信息進(jìn)行持續(xù)改進(jìn)。這樣做的好處是:讀者較早獲得試讀版的信息,了解和監(jiān)督了書的寫作質(zhì)量,從而可以做出有效判斷是否值得購(gòu)買,糟糕的圖書質(zhì)量可能在這一階段就直接被淘汰,甚至失去了出版意義,從而保障讀者利益;同時(shí)對(duì)于作者,我能夠持續(xù)吸收社區(qū)反饋意見以改進(jìn)內(nèi)容質(zhì)量,使圖書的質(zhì)量可以不斷地形成增益,好的內(nèi)容能夠被社區(qū)傳播擴(kuò)散;這對(duì)于讀者和作者都是一件共贏的事情。

為此,我已經(jīng)提供了該書1,2,3三章共計(jì)157頁(yè)正文的試讀內(nèi)容供所有對(duì)該書感興趣的朋友免費(fèi)下載,如果您還不知道可以從這里下載。然而盡管如此,從目前社區(qū)討論的信息來看,大部分讀者還是不太明白這本書跟其它同類書籍會(huì)有什么不同,盡管我已經(jīng)使用一個(gè)問答的形式來簡(jiǎn)要概述這本書的特點(diǎn),然而我們都知道,這些文字跟你在技術(shù)大會(huì)上那些廠商遞給你的一個(gè)介紹他們公司產(chǎn)品的小冊(cè)子上的文字一樣:在你使用它們的產(chǎn)品之前,那些文字通常跟屁沒有什么差別。

所以我需要寫一點(diǎn)更通俗篇幅相對(duì)長(zhǎng)一點(diǎn)的文章來解釋這本書的內(nèi)容和特點(diǎn),通俗使得您可以像讀其它社交信息一樣很輕松地進(jìn)行閱讀,不需要太多思考和理解,而篇幅需要長(zhǎng)到足以介紹這本書覆蓋的內(nèi)容和特點(diǎn)。正巧在百度貼吧的“孤島危機(jī)吧”看到一篇想要了解各種全局光照技術(shù)的特點(diǎn)及聯(lián)系的帖子,他所提出的問題正是本書試圖去討論的內(nèi)容,所以我就想回答了他的問題其實(shí)基本上能夠說明這本書的內(nèi)容和特點(diǎn)。

學(xué)習(xí)全局光照技術(shù)(Global Illumination,以下簡(jiǎn)稱GI)比較頭疼的一個(gè)因素是它的方法派別太多了,每個(gè)算法可能涉及到完全不同的數(shù)學(xué)方法,而如果我們沒有對(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)存布局以及訪問,和渲染管線其它階段(如Deferred Shading,AA等)的協(xié)作,圖形接口的運(yùn)用,算法處理器級(jí)別的優(yōu)化等,這些因素使得GI的學(xué)習(xí)并不那么輕松。

所以我在2015年初就萌生了寫作一本圍繞各種GI技術(shù)來進(jìn)行內(nèi)容組織的書籍,它不像《Real-time Rendering》這類書籍一樣基本上以各個(gè)理論知識(shí)點(diǎn)為中心,它以方法為中心(盡管如此,本書還是包括了將近300頁(yè)的基本理論知識(shí)的介紹),著重討論各種GI方法背后的思路以及方法之間的聯(lián)系,因此它較偏理論性的書籍擁有更強(qiáng)的實(shí)踐性。這種寫作思路其實(shí)類似于《Advanced Global Illumination》(簡(jiǎn)稱AGI),但是AGI基本上主要圍繞路徑追蹤和輻射度理論兩種方法來講述,其它一些如光子映射等有一定的介紹,但是篇幅極短;本書不但會(huì)介紹路徑追蹤和輻射度理論等這些離線全局光照技術(shù),還會(huì)介紹時(shí)下比較流行的距離場(chǎng),體素等實(shí)時(shí)的全局光照技術(shù),并且本書結(jié)合Unreal Engine等游戲引擎來講述,讀者更夠更好地理解這些引擎的功能特性。

這篇文章,我們就來看看全局光照技術(shù)的進(jìn)化史。遵循通俗的原則,本文不會(huì)包含數(shù)學(xué)公式,全部?jī)?nèi)容是以文字和配圖描述,當(dāng)然這樣的方式肯定不可能包含很多細(xì)節(jié),它更注重的是思路描述,更具