前言一、背景隨當今國際和國內娛樂行業(yè)大量使用CG技術,特別是實時CG特效給各個年齡的消費群體帶來極大的震撼,同時也帶來巨大的市場需求。作為娛樂圖形消費的軟硬件在本次浪潮的下蓬勃發(fā)展,實時圖形渲染技術的HLSL更作為當今實游戲、虛擬現(xiàn)實的前沿領域, 不僅是從事實時圖形開發(fā)工作所必備的知識,也是行業(yè)人才競爭力的必備技能之一;隨DX11引入的通用計算,HLSL的運用范圍更加廣闊,成為計算機高端圖形開發(fā)必須掌握的核心知識。二、當前狀況及本書編寫背景1、國內介紹DirectX的書籍很少,特別是有一定深度,且全面的書籍幾乎匱乏,大致有以下幾個特點。(1)、對DirectX的講解基本處于入門階段,還存在出版以傳統(tǒng)渲染管道方式來講解書籍,以HLSL控制下可編程渲染管道涉及較少。(2)、內容不夠深入,對HLSL涉及的Shader基本都是介紹,很少有豐富完整的實例來完整學習。(3)、部分書籍內容技術質量欠缺。2、國內學術和論壇沒有形成學術氛圍。國內各大論壇幾乎沒有討論DX內容的氛圍,缺乏深度廣度。3、國內引進的高端書籍中,主要是翻譯,沒有能夠將此國外技術廣泛化和通俗化。4、從筆者從實際出發(fā),將前期開發(fā)案例和教學經驗加以總結成書,與廣大讀者共享。三、選擇本書的優(yōu)勢目前市面上教授圖形的書籍較多,為什么選擇本書?前言一、背景隨當今國際和國內娛樂行業(yè)大量使用CG技術,特別是實時CG特效給各個年齡的消費群體帶來極大的震撼,同時也帶來巨大的市場需求。作為娛樂圖形消費的軟硬件在本次浪潮的下蓬勃發(fā)展,實時圖形渲染技術的HLSL更作為當今實游戲、虛擬現(xiàn)實的前沿領域, 不僅是從事實時圖形開發(fā)工作所必備的知識,也是行業(yè)人才競爭力的必備技能之一;隨DX11引入的通用計算,HLSL的運用范圍更加廣闊,成為計算機高端圖形開發(fā)必須掌握的核心知識。二、當前狀況及本書編寫背景1、國內介紹DirectX的書籍很少,特別是有一定深度,且全面的書籍幾乎匱乏,大致有以下幾個特點。(1)、對DirectX的講解基本處于入門階段,還存在出版以傳統(tǒng)渲染管道方式來講解書籍,以HLSL控制下可編程渲染管道涉及較少。(2)、內容不夠深入,對HLSL涉及的Shader基本都是介紹,很少有豐富完整的實例來完整學習。(3)、部分書籍內容技術質量欠缺。2、國內學術和論壇沒有形成學術氛圍。國內各大論壇幾乎沒有討論DX內容的氛圍,缺乏深度廣度。3、國內引進的高端書籍中,主要是翻譯,沒有能夠將此國外技術廣泛化和通俗化。4、從筆者從實際出發(fā),將前期開發(fā)案例和教學經驗加以總結成書,與廣大讀者共享。三、選擇本書的優(yōu)勢目前市面上教授圖形的書籍較多,為什么選擇本書?1、內容全面全面、新穎。(1)內容全面:除去因部分技術缺乏后續(xù)發(fā)展動力的技術外,本書涵蓋DirectX的所有圖形內容,超過市面任何一本圖形書籍,其全面性可以查看本書實例程序的截圖和目錄來了解書籍的內容,所有的例子內容滿足各個開發(fā)層次的需要。(2)內容新穎:本書是以HLSL來介紹圖像方式的書籍,完全拋棄了DX9以下的固定管線方式,可以從每個例子使用的.fx文件,HLSL文件控制渲染;例子中講解了當代引擎使用的法線高光貼圖技術、視差紋理、HDR;此外本書專有一章對物理引擎的講解,并提供了豐富的實例來提高圖形真實感的內容。2、實用性。本書是以教學、工程為目標的內容,入門部分可以讓讀者盡快掌握基礎知識(見后續(xù)教學部分),工程部分則以實際需求為標準進行分析,如第18章的綜合實例就以多個例子組合實現(xiàn)一個較大的工程實例,修改后即可用于項目展示。因此本書可以供計算機圖形學課程的大作業(yè)和畢業(yè)設計使用。并且物理引擎部分可以作為圖形開發(fā)班的提高使用,并且提供了工程項目所涉及的工具提供了代碼(資源打包工具、路徑工具,音樂工具)。3、有一定深度。(1)對于有一定開發(fā)經驗的讀者可以參看圖形的特效部分(第16章到第19章),主要講解在基本渲染上增加真實感的內容。(2)本書的例子的選擇都有一定的代表性,能反映HLSL當前的運用情況,在各個章節(jié)末都對當前實例代碼的改進提出方向,供用戶在后續(xù)開發(fā)中作為提高、深化,編寫出更符合工程需要的代碼。(3)并且書中還對GPU下的通用計算提供了幾個實例代碼,供高性能計算參考。4、講解方式。(1)內容精簡。本書是筆者在科研、教學中的體會和總結,把一個清晰的原理在講解給讀者后,再從程序的角度逐步展開講解。(2)本書中除對原理,函數(shù)講解外,書中粘貼部分核心代碼,并有詳細注釋(僅在書中注解,程序中未注解)。(3)本書不是SDK的重復講解(微軟SDK的例子中展示了各種技術,讀者容易迷失在代碼中),而是將各個技術特點分散講解,逐步提高(如ShadowVolume分段講解方便提供代碼,方便讀者理解和使用)。5、配套代碼。本書講解的代碼完全收錄在光盤中,約170個例子,能向用戶提供各種知識點和充足的學習實例。6、其他。由于本書的例子主要是以教學目的提供給讀者,在程序的優(yōu)化和可擴充方面考慮較少,在自定義的類中也未使用C中多繼承、虛函數(shù)等功能。顯示全部信息