CG教程-可編程實(shí)時圖形權(quán)威指南

出版時間:2004-9  出版社:人民郵電出版社  作者:Randima Fernando Mark J.Kilgard  頁數(shù):280  字?jǐn)?shù):348000  譯者:洪偉  
Tag標(biāo)簽:無  

內(nèi)容概要

Cg是最早的為可編程圖形硬件設(shè)計的高級編程語言,本書教你如何編寫Cg程序。
  本書共10章,第1章簡要介紹Cg語言。隨后的每一章分別介紹Cg中的一個概念和技術(shù)的說明,包括最簡單的Cg程序,參數(shù)、紋理和表達(dá)式,如何進(jìn)行頂點(diǎn)變換,如何用Cg實(shí)現(xiàn)光照模型,如何用Cg頂點(diǎn)程序?qū)崿F(xiàn)模型的動畫和變換,如何實(shí)現(xiàn)環(huán)境貼圖,如何實(shí)現(xiàn)凹凸貼圖,霧、卡通光照、投影聚光、陰影貼圖和復(fù)合技術(shù),目前可用的Cg的頂點(diǎn)和片斷的簡要描述(Profile)等內(nèi)容。每章的結(jié)尾提供了習(xí)題,以幫助你進(jìn)一步學(xué)習(xí),探索更多的Cg知識。本書另外還附有5個關(guān)于Cg基礎(chǔ)知識的附錄。
  本書適合開發(fā)三維游戲和應(yīng)用軟件的程序員及項目管理人員、實(shí)時三維美工人員和學(xué)習(xí)計算機(jī)圖形學(xué)的學(xué)生閱讀,也可供任何對學(xué)習(xí)實(shí)時渲染技術(shù)當(dāng)前發(fā)展動態(tài)有興趣的人士閱讀參考。

書籍目錄

第1章 簡介 11.1 什么是Cg 11.1.1 為可編程圖形硬件設(shè)計的語言 21.1.2 Cg的數(shù)據(jù)流模型 21.1.3 圖形處理器的特殊性和中央處理器的通用性 31.1.4 Cg性能的基本原理 31.1.5 與傳統(tǒng)編程語言共存 41.1.6 Cg的其他方面 51.1.7 Cg程序的有限執(zhí)行環(huán)境 61.2 頂點(diǎn)、片段和圖形流水線 71.2.1 計算機(jī)圖形硬件的發(fā)展史 71.2.2 四代計算機(jī)圖形硬件 81.2.3 圖形硬件流水線 121.2.4 可編程圖形流水線 151.2.5 Cg提供了頂點(diǎn)和片段的可編程能力 191.3 Cg的發(fā)展史 191.3.1 Microsoft和NVIDIA協(xié)作開發(fā)了Cg和HLSL 211.3.2 非交互的著色語言 211.3.3 三維圖形的編程接口 231.4 Cg環(huán)境 241.4.1 標(biāo)準(zhǔn)三維編程接口:OpenGL和Direct3D 241.4.2 Cg編譯器和運(yùn)行庫(Runtime) 261.4.3 CgFX工具箱和文件格式 281.5 練習(xí) 311.6 補(bǔ)充閱讀 31第2章 最簡單的程序 332.1 一個簡單的頂點(diǎn)程序 332.1.1 輸出結(jié)構(gòu)(Output Structure) 342.1.2 標(biāo)識符 352.1.3 結(jié)構(gòu)成員 362.1.4 向量 362.1.5 矩陣 372.1.6 語義 382.1.7 函數(shù) 392.1.8 輸入和輸出語義是不同的 392.1.9 函數(shù)體 402.2 編譯你的例子 422.2.1 頂點(diǎn)程序Profile 422.2.2 Cg編譯錯誤類別 432.2.3 依賴Profile的錯誤 442.2.4 標(biāo)準(zhǔn):多重入口函數(shù) 452.2.5 下載和配置頂點(diǎn)和片段程序 462.3 一個簡單的片段程序 472.4 用頂點(diǎn)和片段示例程序渲染 502.4.1 用OpenGL渲染一個三角形 512.4.2 用Direct3D渲染一個三角形 512.4.3 獲得同樣的結(jié)果 522.5 練習(xí) 542.6 補(bǔ)充閱讀 54第3章 參數(shù)、紋理和表達(dá)式 553.1 參數(shù) 553.1.1 Uniform參數(shù) 553.1.2 const類型限制符 583.1.3 Varying參數(shù) 583.2 紋理樣本 603.2.1 樣本對象 613.2.2 紋理采樣 623.2.3 在對一個紋理采樣的時候,發(fā)送紋理坐標(biāo) 623.3 數(shù)學(xué)表達(dá)式 633.3.1 操作符 633.3.2 依賴于profile的數(shù)值數(shù)據(jù)類型 653.3.3 標(biāo)準(zhǔn)庫內(nèi)置的函數(shù) 683.3.4 二維扭曲 713.3.5 重影效果 743.4 練習(xí) 783.5 補(bǔ)充閱讀 79第4章 變換 814.1 坐標(biāo)系統(tǒng) 814.1.1 物體空間 824.1.2 齊次坐標(biāo) 834.1.3 世界空間 834.1.4 建模變換 834.1.5 眼睛空間 844.1.6 視變換 854.1.7 剪裁空間 864.1.8 投影變換 864.1.9 標(biāo)準(zhǔn)化的設(shè)備坐標(biāo) 874.1.10 窗口坐標(biāo) 884.2 理論應(yīng)用 884.3 練習(xí) 894.4 補(bǔ)充閱讀 89第5章 光照 915.1 光照和光照模型 915.2 實(shí)現(xiàn)基本的每個頂點(diǎn)的光照模型 935.2.1 基本的光照模型 935.2.2 一個基本的每個頂點(diǎn)光照的頂點(diǎn)程序 995.2.3 每個頂點(diǎn)光照的片段程序 1085.2.4 單個頂點(diǎn)光照結(jié)果 1085.3 單個片段光照 1085.3.1 實(shí)現(xiàn)每個片段的光照 1105.3.2 用于每個片段光照的頂點(diǎn)程序 1115.3.3 用于每個片段光照的片段程序 1115.4 創(chuàng)建一個光照函數(shù) 1135.4.1 聲明一個函數(shù) 1135.4.2 一個光照函數(shù) 1155.4.3 結(jié)構(gòu) 1155.4.4 數(shù)組 1165.4.5 流控制 1185.4.6 計算漫反射和鏡面反射光照 1195.5 擴(kuò)展基本模型 1195.5.1 距離衰減 1205.5.2 增加一個聚光燈效果 1225.5.3 平行光 1265.6 練習(xí) 1275.7 補(bǔ)充閱讀 128第6章 動畫 1296.1 隨時間運(yùn)動 1296.2 一個有規(guī)律搏動的物體 1306.2.1 頂點(diǎn)程序 1316.2.2 位移計算 1326.3 粒子系統(tǒng) 1346.3.1 初始化條件 1356.3.2 向量化計算 1366.3.3 粒子系統(tǒng)的參數(shù) 1366.3.4 頂點(diǎn)程序 1376.3.5 修飾你的粒子系統(tǒng) 1396.4 關(guān)鍵幀插值 1406.4.1 關(guān)鍵幀的背景知識 1406.4.2 插值方法 1436.4.3 基本的關(guān)鍵幀插值 1456.4.4 帶光照的關(guān)鍵幀插值 1466.5 頂點(diǎn)混合 1476.5.1 頂點(diǎn)混合理論 1476.5.2 在頂點(diǎn)程序中的頂點(diǎn)混合 1496.6 練習(xí) 1516.7 補(bǔ)充閱讀 152第7章 環(huán)境映射技術(shù) 1537.1 環(huán)境映射 1537.1.1 立方貼圖紋理 1547.1.2 生成立方貼圖 1557.1.3 環(huán)境映射的概念 1557.1.4 計算反射向量 1557.1.5 環(huán)境映射的一些假設(shè) 1577.2 反射環(huán)境映射 1587.2.1 應(yīng)用程序指定的參數(shù) 1597.2.2 頂點(diǎn)程序 1597.2.3 片段程序 1637.2.4 控制貼圖 1647.2.5 頂點(diǎn)程序與片段程序 1647.3 折射環(huán)境映射 1657.3.1 折射的物理原理 1667.3.2 頂點(diǎn)程序 1687.3.3 片段程序 1707.4 菲涅耳效果和顏色色散 1717.4.1 菲涅耳效果 1717.4.2 顏色色散 1727.4.3 應(yīng)用程序指定的參數(shù) 1737.4.4 頂點(diǎn)程序 1747.4.5 片段程序 1757.5 練習(xí) 1777.6 補(bǔ)充閱讀 178第8章 凹凸映射 1798.1 凹凸映射一個磚墻 1798.1.1 磚墻的法向量貼圖 1808.1.2 把凹凸貼圖存儲成法向量貼圖紋理 1818.1.3 對一個磚墻的簡單凹凸映射 1838.1.4 帶鏡面反射的凹凸映射 1878.1.5 凹凸映射其他幾何圖形 1908.2 凹凸映射一個磚鋪的地板 1928.3 凹凸映射一個圓環(huán) 1978.3.1 圓環(huán)的數(shù)學(xué)表示 1978.3.2 凹凸映射的圓環(huán)的頂點(diǎn)程序 2008.4 凹凸映射紋理的多邊形網(wǎng)格 2028.4.1 考察單獨(dú)一個三角形 2028.4.2 一些告誡 2048.4.3 推廣到一個多邊形的網(wǎng)格 2068.5 把凹凸映射和其他效果結(jié)合在一起 2068.5.1 印花貼圖(Decal Map) 2068.5.2 光澤貼圖 2078.5.3 投射自己的幾何陰影(Geometric Self-Shadowing) 2078.6 練習(xí) 2088.7 補(bǔ)充閱讀 209第9章 高級論題 2119.1 霧 2119.1.1 均勻的霧 2129.1.2 霧的屬性 2139.1.3 霧的數(shù)學(xué)運(yùn)算 2139.1.4 直覺化公式 2159.1.5 用Cg創(chuàng)建均勻的霧 2169.2 非真實(shí)性渲染 2189.2.1 卡通著色 2189.2.2 實(shí)現(xiàn)卡通著色 2199.2.3 集成在一起 2229.2.4 卡通著色技術(shù)存在的一些問題 2249.3 投影貼圖 2249.3.1 投影紋理如何工作 2259.3.2 實(shí)現(xiàn)投影紋理貼圖 2279.3.3 投影紋理貼圖的代碼 2289.4 陰影映射 2319.5 合成 2339.5.1 把輸入映射到輸出像素 2349.5.2 基本的合成操作 2359.6 練習(xí) 2389.7 補(bǔ)充閱讀 239第10章 Profile和性能 24110.1 Profile描述 24110.1.1 DirectX8的頂點(diǎn)著色器Profile 24110.1.2 OpenGL的基本NVIDIA頂點(diǎn)程序Profile 24210.1.3 OpenGL的ARB頂點(diǎn)程序Profile 24210.1.4 DirectX 9的頂點(diǎn)著色器Profile 24310.1.5 OpenGL高級NVIDIA頂點(diǎn)程序Profile 24310.1.6 DirectX 8的像素著色器Profile 24310.1.7 用于OpenGL的基本NVIDIA片段程序Profile 24410.1.8 DirectX 9像素著色器Profile 24510.1.9 OpenGL的ARB片段程序Profile 24510.1.10 OpenGL高級NVIDIA片段程序Profile 24510.2 性能 24610.2.1 使用Cg標(biāo)準(zhǔn)庫 24610.2.2 充分利用統(tǒng)一參數(shù) 24710.2.3 使用頂點(diǎn)程序與片段程序 24710.2.4 數(shù)據(jù)類型和它們對性能的影響 24810.2.5 充分利用向量化 24810.2.6 使用紋理來編碼函數(shù) 24910.2.7 自由使用重組(Swizzling)和取反(Negation) 24910.2.8 只對必須著色的像素進(jìn)行著色 25010.2.9 簡短的匯編代碼并不是更快的性能所必須的 25010.3 練習(xí) 25110.4 補(bǔ)充閱讀 251附錄A Cg入門 253A.1 獲得本書的配套示例 253A.2 獲得Cg工具箱 253附錄B Cg運(yùn)行庫 255B.1 什么是Cg運(yùn)行庫 255B.2 為什么使用Cg運(yùn)行庫 255B.2.1 未來的證明 255B.2.2 不存在依賴問題 256B.2.3 輸入?yún)?shù)管理 256B.3 Cg運(yùn)行庫是如何工作的 256B.3.1 頭文件(Header File) 257B.3.2 創(chuàng)建一個環(huán)境 258B.3.3 編譯一個程序 258B.3.4 載入一個程序 258B.3.5 修改程序的參數(shù) 259B.3.6 執(zhí)行程序 260B.3.7 釋放資源 260B.3.8 處理錯誤 261B.4 更多的細(xì)節(jié) 261附錄C CgFX文件格式 263C.1 什么是CgFX 263C.2 格式縱覽 263C.2.1 技巧(Technique) 264C.2.2 過程(Pass) 265C.2.3 渲染狀態(tài) 265C.2.4 變量和語義 266C.2.5 注解(Annotation) 266C.2.6 一個CgFX文件的示例 267C.3 支持CgFX格式的Cg插件 269C.4 學(xué)習(xí)更多有關(guān)CgFX的知識 269附錄D Cg關(guān)鍵字 271附錄E Cg標(biāo)準(zhǔn)庫函數(shù) 273E.1 數(shù)學(xué)函數(shù) 273E.2 幾何函數(shù) 277E.3 紋理貼圖函數(shù) 278E.4 導(dǎo)數(shù)函數(shù) 280E.5 調(diào)試函數(shù) 280

媒體關(guān)注與評論

  Cg(用于圖形的C語言)是用于快速創(chuàng)建特殊效果和在多種平臺上體驗(yàn)實(shí)時電影質(zhì)量圖像的一個完整的編程環(huán)境。通過提供一個全新的抽象層,Cg使得開發(fā)人員更加直接地面對OpenGL DirectX Windows Linux Mac OS X和一些游戲平臺(例如Xbox),而不需要直接使用圖形硬件的匯編語言進(jìn)行編程。Cg是由NVIDIA公司與Microsoft公司密切合作開發(fā)的,它與OpenGL API和Microsoft DirectX 9.0的HLSL都兼容?! ”緯忉屃巳绾卧诋?dāng)今的可編程GPU構(gòu)架上實(shí)現(xiàn)基本和高級的技術(shù)。  主要涉及的方面包括:3D變換、每個頂點(diǎn)和每個像素的光照、頂點(diǎn)混合與關(guān)鍵幀插值、環(huán)境貼圖、凹凸貼圖、霧、性能優(yōu)化、投影紋理、卡通著色、合成?!  癈g是釋放新一代可編程圖形硬件能力的關(guān)鍵。本書是對Cg的最權(quán)威的介紹,而且將是任何編寫高質(zhì)量實(shí)時圖形的人所必需的。本書將教你如何使用Cg來創(chuàng)建在以前的實(shí)時應(yīng)用程序中從來沒有出現(xiàn)過的效果?!薄  狶arry Gritz,Advanced RenderMan(Morgan Kaufman,2000年)一書的作者  “一本非常重要和及時的書,像素級的程序性紋理——云、火和水的動畫,以及所有有關(guān)的程序技巧——終于從電影屏幕來到了桌面電腦。通過一種像C的語言來使用這種計算的力量將引導(dǎo)我們進(jìn)入一個令人激動的圖形新領(lǐng)域?!薄  狵en Perlin,紐約大學(xué)教授

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    CG教程-可編程實(shí)時圖形權(quán)威指南 PDF格式下載


用戶評論 (總計3條)

 
 

  •   入門的Shader編程書籍,圖形程序員必備。
  •   很好的教程,看過了,挺經(jīng)典的。。。
  •   刻苦拜讀中
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7