OpenGL編程指南

出版時間:2005-4  出版社:人民郵電  作者:OpenGL體系結構審核委員會  頁數(shù):494  字數(shù):779000  
Tag標簽:無  

內容概要

  OpenGL圖形系統(tǒng)是一個軟件接口,讓程序員能夠創(chuàng)建交互式程序,使用計算機圖形學技術生成具有真實感的圖像。本書是OpenGL ARB推薦的OpenGL 1.4版學習指南。  本書首先闡述OpenGL的功能和計算機圖形學基本知識,包括狀態(tài)管理和幾何體的繪制、模型變換、視點變換和投影變換、顏色和光照;然后深入探討一些高級技術,包括反走樣、混合、霧效、顯示列表、圖像處理、紋理映射、幀緩存、網格化、NURBS、選擇和反饋等;同時討論其他一些重要主題,像如何提高程序的性能、OpenGL擴展和跨平臺技術等。  本書只要求讀者有一定的C語言基礎和數(shù)學知識,適合所有對OpenGL編程感興趣的讀者閱讀。

書籍目錄

第1章 OpenGL簡介 11.1 OpenGL概覽 21.2 一個簡單的OpenGL程序 41.3 OpenGL函數(shù)的語法 51.4 OpenGL是一個狀態(tài)機 61.5 OpenGL渲染流水線 61.5.1 顯示列表 71.5.2 求值程序 71.5.3 頂點操作 81.5.4 圖元裝配 81.5.5 像素操作 81.5.6 紋理裝配 81.5.7 光柵化 91.5.8 片元操作 91.6 與OpenGL相關的函數(shù)庫 91.6.1 包含文件 101.6.2 OpenGL實用工具包(GLUT) 111.7 動畫 131.7.1 暫停刷新 141.7.2 運動就是重畫加交換 15第2章 狀態(tài)管理和繪制幾何體 192.1 繪圖補救工具箱 212.1.1 清空窗口 212.1.2 指定顏色 222.1.3 強制完成繪圖操作 232.1.4 坐標系統(tǒng)修補工具箱 242.2 描述點、直線和多邊形 252.2.1 什么是點、直線和多邊形 262.2.2 指定頂點 282.2.3 OpenGL幾何繪圖圖元 292.3 基本狀態(tài)管理 332.4 顯示點、直線和多邊形 342.4.1 點的細節(jié) 352.4.2 直線的細節(jié) 352.4.3 多邊形的細節(jié) 382.5 法線向量 442.6 頂點數(shù)組 452.6.1 第1步:啟用數(shù)組 462.6.2 第2步:指定數(shù)組中的數(shù)據(jù) 472.6.3 第3步:解除引用和渲染 492.6.4 混合數(shù)組 542.7 屬性組 562.8 有關使用多邊形構造曲面的建議 59第3章 觀察 653.1 概述:相機類比 673.1.1 一個簡單的例子:繪制立方體 693.1.2 通用的變換函數(shù) 723.2 視點變換和模型變換 733.2.1 如何看待變換 743.2.2 模型變換 753.2.3 視點變換 793.3 投影變換 843.3.1 透視投影 843.3.2 正交投影 863.3.3 根據(jù)視景體進行裁剪 873.4 視口變換 873.4.1 定義視口 883.4.2 變換后的深度坐標 893.5 變換的診斷 903.6 操縱矩陣堆?!?13.6.1 模型視點矩陣堆?!?43.6.2 投影矩陣堆棧 943.7 附加裁剪面 943.8 組合變換舉例 973.8.1 建立太陽系模型 973.8.2 建立帶關節(jié)的機器人手臂模型 993.9 逆變換和模擬變換 102第4章 顏色 1054.1 顏色感知 1064.2 計算機顏色 1074.3 RGBA模式與顏色索引模式 1094.3.1 RGBA顯示模式 1094.3.2 顏色索引顯示模式 1114.3.3 在RGBA模式和顏色索引模式之間做出選擇 1124.3.4 在顯示模式之間切換 1134.4 指定顏色和著色模式 1134.4.1 在RGBA模式下指定顏色 1134.4.2 在顏色索引模式下指定顏色 1144.4.3 指定著色模式 115第5章 光照 1195.1 隱藏面消除修補工具箱 1215.2 現(xiàn)實世界和OpenGL中的光照 1225.2.1 環(huán)境光、散射光、鏡面反射光和發(fā)射光 1225.2.2 材質的顏色 1235.2.3 光線和材質的RGB值 1235.3 一個簡單的例子:光照球體的渲染 1245.4 創(chuàng)建光源 1265.4.1 顏色 1285.4.2 位置和衰減 1285.4.3 聚光燈 1295.4.4 多光源 1305.4.5 控制光源的位置和方向 1315.5 選擇光照模型 1355.5.1 全局環(huán)境光 1365.5.2 近視點還是無窮遠視點 1365.5.3 雙面光照 1365.5.4 輔助鏡面反射顏色 1375.5.5 啟用光照 1375.6 指定材質屬性 1375.6.1 散射光反射和環(huán)境光反射 1385.6.2 鏡面光反射 1395.6.3 發(fā)射光顏色 1395.6.4 改變材質屬性 1405.6.5 顏色材質模式 1415.7 光照的數(shù)學計算 1445.7.1 材質的發(fā)射光 1445.7.2 反射的全局環(huán)境光 1445.7.3 光源的貢獻 1445.7.4 疊加 1465.7.5 輔助鏡面發(fā)射光顏色 1465.8 顏色索引模式下的光照 147第6章 混合、反走樣、霧效和多邊形偏移 1496.1 混合 1506.1.1 源因子和目標因子 1516.1.2 啟用混合操作 1526.1.3 使用混合方程來合并像素 1536.1.4 混合的用途 1546.1.5 一個混合的例子 1566.1.6 使用深度緩存的三維混合 1586.2 反走樣 1616.2.1 點和值線的反走樣 1626.2.2 使用多重采樣對幾何圖元進行反走樣處理 1676.2.3 多邊形的反走樣 1706.3 霧 1706.3.1 使用霧 1716.3.2 霧方程 1736.4 點參數(shù) 1786.5 多邊形偏移 180第7章 顯示列表 1837.1 為何使用顯示列表 1847.2 一個使用顯示列表的例子 1847.3 顯示列表設計準則 1877.4 創(chuàng)建和執(zhí)行顯示列表 1887.4.1 命名和創(chuàng)建顯示列表 1897.4.2 顯示列表存儲的內容 1907.4.3 執(zhí)行顯示列表 1917.4.4 多級顯示列表 1927.4.5 管理顯示列表索引 1937.5 執(zhí)行多個顯示列表 1937.6 使用顯示列表來管理狀態(tài)變量 197第8章 繪制像素、位圖、字體和圖像 2018.1 位圖和字體 2038.1.1 當前光柵位置 2048.1.2 繪制位圖 2058.1.3 選擇位圖的顏色 2068.1.4 字體和顯示列表 2068.1.5 定義并使用一種完整的字體 2078.2 圖像 2098.3 圖像處理流水線 2158.3.1 像素的封裝和拆封 2178.3.2 控制像素存儲模式 2188.3.3 像素轉移操作 2218.3.4 像素映射 2238.3.5 縮放和翻轉圖像 2248.4 讀取和繪制矩形像素陣列 2268.5 提高像素繪制速度的技巧 2298.6 圖像處理子集 2298.6.1 顏色表 2308.6.2 卷積 2348.6.3 顏色矩陣 2408.6.4 收集統(tǒng)計數(shù)據(jù)(histogram) 2418.6.5 Minmax 243第9章 紋理映射 2459.1 概述和范例 2489.1.1 紋理映射的步驟 2489.1.2 一個簡單的程序 2509.2 指定紋理 2529.2.1 紋理代理 2559.2.2 替換紋理圖像的部分或全部紋素 2569.2.3 一維紋理 2589.2.4 三維紋理 2599.2.5 壓縮的紋理圖像 2639.2.6 使用紋理邊框 2659.2.7 mipmap:多個明細等級 2659.3 濾波 2739.4 紋理對象 2759.4.1 生成紋理對象名稱 2759.4.2 創(chuàng)建和使用紋理對象 2759.4.3 刪除紋理對象 2789.4.4 駐留紋理工作集 2789.4.5 紋理函數(shù) 2809.5 指定紋理坐標 2829.5.1 計算合適的紋理坐標 2839.5.2 紋理的重復和截取 2849.6 自動生成紋理坐標 2879.6.1 創(chuàng)建等高線 2889.6.2 球面圖(sphere map) 2919.6.3 立方圖紋理(cube map texture) 2929.7 多重紋理 2949.8 紋理組合函數(shù) 2989.9 執(zhí)行紋理映射后應用輔助顏色 3029.9.1 光照被禁用時的輔助顏色 3029.9.2 光照被啟用時的輔助鏡面反射顏色 3029.10 紋理矩陣堆?!?039.11 深度紋理 3039.11.1 創(chuàng)建陰影圖 3049.11.2 生成紋理坐標并渲染場景 305第10章 幀緩存 30710.1 緩存及其用途 30910.1.1 顏色緩存 31010.1.2 深度緩存 31010.1.3 模板緩存 31010.1.4 累積緩存 31010.1.5 清空緩存 31110.1.6 指定要讀寫的顏色緩存 31110.1.7 屏蔽緩存 31310.2 片元的測試和操作 31410.2.1 截剪測試 31410.2.2 Alpha測試 31510.2.3 模板測試 31610.2.4 深度測試 32010.2.5 混合、抖動和邏輯運算 32010.3 累積緩存 32210.3.1 場景反走樣 32310.3.2 運動模糊 32710.3.3 景深 32710.3.4 柔和陰影 33010.3.5 抖動 330第11章 網格化和二次曲面 33311.1 多邊形網格化 33411.1.1 創(chuàng)建網格化對象 33511.1.2 網格化回調函數(shù) 33511.1.3 網格化屬性 33911.1.4 定義多邊形 34311.1.5 刪除網格化對象 34511.1.6 提高網格化性能的技巧 34511.1.7 描述GLU錯誤 34511.1.8 向后兼容性 34511.2 二次曲面:渲染球體、圓柱體和圓盤 34611.2.1 管理二次對象 34711.2.2 設置二次對象的屬性 34711.2.3 二次圖元 348第12章 求值程序和NURBS 35312.1 預備知識 35412.2 求值程序 35512.2.1 一維求值程序 35512.2.2 二維求值程序 35812.2.3 使用求值程序來生成紋理坐標 36212.3 GLU NURBS接口 36412.3.1 一個簡單的NURBS范例 36412.3.2 管理NURBS對象 36712.3.3 創(chuàng)建NURBS曲線或曲面 37012.3.4 修剪NURBS曲面 374第13章 選擇和反饋 37713.1 選擇 37813.1.1 基本步驟 37813.1.2 創(chuàng)建名稱堆?!?7913.1.3 命中記錄 38013.1.4 選擇示例 38113.1.5 拾取 38313.1.6 有關編寫使用選擇機制的程序的建議 39013.2 反饋 39213.2.1 反饋數(shù)組 39313.2.2 在反饋模式下使用標記 39413.2.3 反饋示例 394第14章 OpenGL高級技巧 39914.1 錯誤處理 40014.2 查詢OpenGL版本 40214.2.1 實用庫版本 40314.2.2 窗口系統(tǒng)擴展版本 40314.3 對標準的擴展 40314.4 輕松制作透明物體 40514.5 輕松實現(xiàn)淡出效果 40514.6 使用后緩存來處理選擇 40614.7 開銷不高的圖像變換方法 40714.8 顯示多層 40814.9 字符反走樣 40914.10 繪制圓形點 41014.11 圖像插值 41014.12 制作貼花 41114.13 使用模板緩存繪制填充凹多邊形 41214.14 找出沖突區(qū)域 41314.15 陰影 41414.16 隱藏線消除 41514.16.1 使用多邊形偏移隱藏線消除 41514.16.2 使用模板緩存消除隱藏線 41514.17 紋理映射的用途 41614.18 繪制深度緩存圖像 41614.19 狄利克雷域 41714.20 生存游戲 41814.21 glDrawPixels()和glCopyPixels()的其他用途 419附錄A 操作順序 421A.1 概述 422A.2 幾何操作 422A.2.1 頂點操作 423A.2.2 圖元裝配 423A.3 像素操作 423A.4 片元操作 424A.5 其他操作 424附錄B 狀態(tài)變量 425B.1 查詢函數(shù) 426B.2 OpenGL狀態(tài)變量 427附錄C OpenGL和窗口系統(tǒng) 445C.1 訪問新的OpenGL函數(shù) 446C.2 X窗口系統(tǒng)的OpenGL擴展(GLX) 446C.2.1 初始化 447C.2.2 控制渲染 448C.2.3 GLX庫函數(shù)的原型 449C.3 Apple Macintosh的OpenGL擴展(AGL) 451C.3.1 初始化 451C.3.2 渲染和場境 451C.3.3 管理OpenGL渲染場境 452C.3.4 在屏幕上渲染 452C.3.5 離屏渲染 452C.3.6 全屏渲染 452C.3.7 交換緩存 452C.3.8 更新渲染緩存 452C.3.9 使用Apple Macintosh字體 453C.3.10 錯誤處理 453C.3.11 AGL庫函數(shù)的原型 453C.4 IBM OS/2 Warp的OpenGL擴展(PGL) 454C.4.1 初始化 454C.4.2 控制渲染 455C.4.3 PGL函數(shù)的原型 456C.5 Microsoft Windows的OpenGL擴展(WGL) 456C.5.1 初始化 457C.5.2 控制渲染 457C.5.3 WGL函數(shù)的原型 458附錄D OpenGL實用工具包(GLUT)基礎 461D.1 初始化和創(chuàng)建窗口 462D.2 處理窗口事件和輸入事件 463D.3 加載顏色表 464D.4 初始化和繪制三維物體 464D.5 管理后臺處理 465D.6 運行程序 465附錄E 計算法線向量 467E.1 計算解析曲面的法線 468E.2 根據(jù)多邊形數(shù)據(jù)計算法線 469附錄F 齊次坐標和變換矩陣 471F.1 齊次坐標 472F.1.1 變換頂點 472F.1.2 法線變換 472F.2 變換矩陣 473F.2.1 平移 473F.2.2 縮放 473F.2.3 旋轉 473F.2.4 透視投影 474F.2.5 正交投影 475附錄G 編程建議 477G.1 OpenGL正確編程技巧 478G.2 提高OpenGL性能的建議 479G.3 GLX建議 480附錄H OpenGL的不變性 481術語表 483

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    OpenGL編程指南 PDF格式下載


用戶評論 (總計15條)

 
 

  •   剛開始學opengl,不愧紅寶書
  •   基本上含蓋了OpenGL的絕大部分內容,書很不錯,但沒有光盤(有點小遺憾^^)。我平時是當工具書來查詢的。
  •   很好,不錯,經典。敝人推薦給我的,一看過真不錯
  •   有點深,現(xiàn)在用不到。留著以后用到再看。查查還是比較方便。
  •   還行,有些地方沒搞懂
  •   紅寶書經典之作?。?!好書,翻譯的也不錯
  •   這本書寫的很好,是一本OPenGL的經典書籍?。?/li>
  •   不多說,OpenGL必備書,也就是為啥叫紅寶書的原因了
  •   要跟姐妹篇配合使用才好。但本書在講解計算機圖形學的基本感念時還是略顯得不足,如果沒有計算機圖形學基礎或者想借此了解計算機圖形學基礎的人看了還是搞不清楚
  •   作為一本手冊還挺好,手中講的都是些函數(shù)運用,有些不常用的功能函數(shù)講的不具體。
  •   第五版太貴了點,
  •   這本書不錯的~~~~~~~
  •   相當不錯,一個老外自己寫的書一般都比較好,一堆國人垃圾教授湊的書就不行,這個是前者
  •   配合MesaDemo和NateRobin的例子效果很好
  •   怎么有好多錯誤啊,讓人覺得有點像盜版的!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7