OpenGL超級(jí)寶典

出版時(shí)間:2005-9  出版社:人民郵電出版社  作者:(美)Richard S.Wright Jr Benjamin Lipchak 著  頁數(shù):735  字?jǐn)?shù):1469000  
Tag標(biāo)簽:無  

內(nèi)容概要

  本書是OpenGL編程指南,涵蓋了使用新版本的OpenGL進(jìn)行編程所需要的主要知識(shí)?! ∪珪?個(gè)部分,共23章,另有3個(gè)附錄。第一部分包括第1章到第12章,介紹經(jīng)典OpenGL繪圖的所有基礎(chǔ)知識(shí),包括3D圖形和OpenGL簡(jiǎn)介,OpenGL空間繪圖,幾何轉(zhuǎn)換,顏色、材料和光照,紋理貼圖,曲線和表面,管線,交互式圖形等內(nèi)容。第二部分包括第13章到第15章,分別介紹了不同操作系統(tǒng)平臺(tái)上的OpenGL功能特性和編程細(xì)節(jié)。第三部分是第16章到第23章,著重介紹OpenGL的一些高級(jí)功能以及OpenGL 1.5的新特性。附錄部分給出了更多閱讀建議、術(shù)語表和對(duì)OpenGL ES的簡(jiǎn)單介紹。隨書光盤中包含了不同操作系統(tǒng)平臺(tái)下的豐富的示例程序及其源代碼?! ”緯m合于希望精通OpenGL以便對(duì)他們的圖形編程和3D圖形知識(shí)進(jìn)行擴(kuò)展的程序員,也可以幫助那些經(jīng)驗(yàn)豐富的OpenGL程序員學(xué)習(xí)如何移植自己的應(yīng)用程序。本書既可以作為學(xué)習(xí)OpenGL的教材,也可以作為隨時(shí)查閱的參考手冊(cè)。

書籍目錄

第一部分 經(jīng)典OpenGL第1章 3D圖形和OpenGL簡(jiǎn)介 31.1 計(jì)算機(jī)圖形的簡(jiǎn)單歷史回顧 31.1.1 進(jìn)入CRT 31.1.2 走向3D 41.2 3D效果初探 61.2.1 透視(視角) 61.2.2 顏色和著色 61.2.3 光照和陰影 71.2.4 紋理貼圖 71.2.5 霧 71.2.6 混和和透明 81.2.7 抗鋸齒 81.3 3D圖形的常見用途 91.3.1 實(shí)時(shí)3D 91.3.2 非實(shí)時(shí)3D 101.4 3D編程的基本原則 111.4.1 立即模式和保持模式(場(chǎng)景圖) 111.4.2 坐標(biāo)系統(tǒng) 111.4.3 投影(從3D到2D) 141.5 小結(jié) 16第2章 使用OpenGL 172.1 什么是OpenGL 172.1.1 標(biāo)準(zhǔn)的演化 182.1.2 API戰(zhàn)爭(zhēng) 192.2 OpenGL的工作原理 222.2.1 泛型實(shí)現(xiàn) 222.2.2 硬件實(shí)現(xiàn) 232.2.3 管線 242.3 OpenGL是API而不是編程語言 242.4 API規(guī)范 252.4.1 數(shù)據(jù)類型 252.4.2 函數(shù)名約定 262.5 平臺(tái)獨(dú)立性 272.5.1 使用GLUT 272.5.2 設(shè)置編程環(huán)境 282.5.3 你的第一個(gè)程序 282.5.4 用OpenGL繪制形狀 322.6 使用OpenGL和GLUT生成動(dòng)畫 372.7 OpenGL狀態(tài)機(jī) 402.8 OpenGL錯(cuò)誤 412.9 確認(rèn)版本 422.10 調(diào)用glHint獲得線索 422.11 使用擴(kuò)展 422.11.1 檢查擴(kuò)展 432.11.2 這是誰的擴(kuò)展 432.11.3 在Windows中使用OpenGL 1.1以后的版本 442.12 小結(jié) 442.13 參考 45第3章 在空間中繪圖(幾何圖元和緩沖區(qū)) 553.1 在3D中繪制點(diǎn) 553.2 設(shè)置3D畫布 563.3 3D空間中的點(diǎn)——頂點(diǎn) 573.4 繪制圖形 583.5 設(shè)置點(diǎn)的大小 603.6 在3D空間中畫直線 623.6.1 線帶和線環(huán) 633.6.2 用直線構(gòu)成近似曲線 643.6.3 設(shè)置直線的寬度 643.6.4 直線點(diǎn)畫 663.7 在3D空間中繪制三角形 683.7.1 三角形——第一種多邊形 683.7.2 環(huán)繞 683.7.3 三角形帶 693.7.4 三角形扇 693.8 創(chuàng)建實(shí)心物體 703.8.1 設(shè)置多邊形顏色 723.8.2 隱藏表面消除 723.8.3 剔除:隱藏表面,提高性能 733.8.4 多邊形模式 753.9 其他圖元 753.9.1 四條邊的多邊形——四邊形 753.9.2 通用多邊形 763.9.3 填充多邊形,回顧點(diǎn)畫 763.9.4 多邊形創(chuàng)建規(guī)則 793.9.5 細(xì)分和邊界 803.10 其他緩沖區(qū)技巧 823.10.1 使用緩沖區(qū)目標(biāo) 823.10.2 操縱深度緩沖區(qū) 833.10.3 用剪刀進(jìn)行裁剪 843.10.4 使用模版緩沖區(qū) 853.11 小結(jié) 883.12 參考 88第4章 幾何轉(zhuǎn)換——管線 1004.1 本章是不是枯燥的數(shù)學(xué)課 1004.2 理解轉(zhuǎn)換 1014.2.1 視覺坐標(biāo) 1014.2.2 視圖轉(zhuǎn)換 1024.2.3 模型轉(zhuǎn)換 1024.2.4 模型視圖二元性 1034.2.5 投影轉(zhuǎn)換 1044.2.6 視口轉(zhuǎn)換 1044.3 矩陣——3D圖形的數(shù)學(xué)基礎(chǔ) 1054.3.1 什么是矩陣 1054.3.2 轉(zhuǎn)換管線 1054.3.3 模型視圖矩陣 1064.3.4 單位矩陣 1084.3.5 矩陣堆?!?094.3.6 一個(gè)原子例子 1104.4 使用投影 1124.4.1 正投影 1124.4.2 透視投影 1134.4.3 一個(gè)遠(yuǎn)處縮小的例子 1144.5 高級(jí)矩陣操作 1164.5.1 載入矩陣 1174.5.2 自己執(zhí)行轉(zhuǎn)換 1184.5.3 把轉(zhuǎn)換放在一起 1204.6 使用照相機(jī)和角色在OpenGL中移動(dòng) 1214.6.1 角色幀 1214.6.2 歐拉角:“盧克!請(qǐng)使用幀” 1224.6.3 照相機(jī)管理 1224.7 綜合應(yīng)用 1234.8 小結(jié) 1274.9 參考 128第5章 顏色、材料和光照基礎(chǔ)知識(shí) 1345.1 什么是顏色 1345.1.1 光的波性 1345.1.2 光的粒子性 1355.1.3 人眼作為光子檢測(cè)器 1365.1.4 計(jì)算機(jī)作為光子檢測(cè)器 1365.2 PC顏色硬件 1375.3 PC顯示模式 1375.3.1 屏幕分辨率 1385.3.2 顏色深度 1385.4 在OpenGL中使用顏色 1395.4.1 顏色立方體 1395.4.2 設(shè)置繪圖顏色 1405.4.3 著色 1405.4.4 設(shè)置著色模型 1425.5 現(xiàn)實(shí)世界的顏色 1425.5.1 環(huán)境光 1435.5.2 散射光 1435.5.3 鏡面光 1435.5.4 綜合考慮 1435.6 現(xiàn)實(shí)世界的材料 1445.6.1 材料屬性 1445.6.2 向材料添加光照 1445.6.3 計(jì)算環(huán)境光效果 1445.6.4 散射和鏡面光效果 1455.7 向場(chǎng)景添加光照 1455.7.1 啟用光照 1455.7.2 設(shè)置光照模型 1465.7.3 設(shè)置材料屬性 1465.8 使用光源 1485.8.1 哪種方式最合適 1485.8.2 表面法線 1495.8.3 指定法線 1495.8.4 單位法線 1505.8.5 尋找法線 1515.8.6 設(shè)置光源 1525.8.7 設(shè)置材料屬性 1535.8.8 指定多邊形 1535.9 光照效果 1545.9.1 鏡面加亮 1545.9.2 鏡面光 1545.9.3 鏡面反射 1555.9.4 鏡面指數(shù) 1565.9.5 法線均衡 1575.10 綜合討論 1585.10.1 創(chuàng)建亮點(diǎn) 1585.10.2 繪制光點(diǎn) 1595.11 陰影 1625.11.1 什么是陰影 1635.11.2 實(shí)現(xiàn)壓平的代碼 1635.11.3 一個(gè)陰影例子 1645.11.4 重新回顧球體世界 1665.12 小結(jié) 1675.13 參考 167第6章 顏色和材料的更多細(xì)節(jié) 1746.1 混合 1746.1.1 組合顏色 1746.1.2 修改混合方程式 1776.1.3 抗鋸齒 1776.2 霧 1816.3 累積緩沖區(qū) 1836.4 其他顏色操作 1856.4.1 顏色掩碼 1856.4.2 顏色邏輯操作 1856.4.3 Alpha測(cè)試 1866.4.4 抖動(dòng) 1866.5 小結(jié) 1866.6 參考 187第7章 OpenGL中的圖像 1917.1 位圖 1917.2 像素包裝 1957.3 像素圖 1967.3.1 經(jīng)過包裝的像素格式 1987.3.2 一個(gè)顏色更豐富的例子 1987.3.3 移動(dòng)像素 2007.3.4 保存像素 2017.4 像素的更多樂趣 2037.4.1 像素縮放 2087.4.2 像素轉(zhuǎn)移 2087.4.3 像素映射 2117.5 圖像“子集” 2127.6 小結(jié) 2227.7 參考 223第8章 紋理貼圖基礎(chǔ)知識(shí) 2398.1 載入紋理 2398.1.1 使用顏色緩沖區(qū) 2428.1.2 更新紋理 2428.2 將紋理貼圖到幾何圖形 2438.3 一個(gè)簡(jiǎn)單的2D例子 2448.4 紋理環(huán)境 2498.5 紋理參數(shù) 2508.5.1 基本過濾 2508.5.2 紋理環(huán)繞 2518.5.3 帶紋理的卡通 2528.5.4 Mip貼圖 2568.6 紋理對(duì)象 2598.7 小結(jié) 2668.8 參考 266第9章 紋理貼圖高級(jí)知識(shí) 2799.1 第二顏色 2799.2 各向異性過濾 2819.3 紋理壓縮 2829.3.1 壓縮紋理 2839.3.2 載入壓縮紋理 2849.4 紋理坐標(biāo)生成 2849.4.1 物體線性貼圖 2899.4.2 視覺線性貼圖 2909.4.3 球體貼圖 2919.4.4 立方體貼圖 2929.5 多重紋理 2949.5.1 多重紋理坐標(biāo) 2959.5.2 一個(gè)多重紋理例子 2959.6 紋理組合器 2989.7 小結(jié) 3009.8 參考 300第10章 曲線和表面 30610.1 內(nèi)部支持的表面 30610.1.1 設(shè)置二次方程狀態(tài) 30710.1.2 繪制二次方程圖形 30810.1.3 用二次方程進(jìn)行建?!?1110.2 Bézier曲線和表面 31210.2.1 參數(shù)方程表示形式 31310.2.2 求值器 31410.3 NURBS 32110.3.1 從Bézier到B樣條 32110.3.2 結(jié)點(diǎn) 32210.3.3 創(chuàng)建NURBS表面 32210.3.4 NURBS屬性 32310.3.5 定義表面 32310.3.6 修剪 32410.3.7 NURBS表面 32610.4 鑲嵌 32610.4.1 鑲嵌器 32710.4.2 鑲嵌器回調(diào)函數(shù) 32710.4.3 指定頂點(diǎn)數(shù)據(jù) 32810.4.4 綜合應(yīng)用 32810.5 小結(jié) 33210.6 參考 332第11章 這就是管線——更快的幾何圖形渲染 35311.1 模型裝配101 35311.2 顯示列表 36311.2.1 批處理 36311.2.2 預(yù)批處理 36411.2.3 使用顯示列表的一些注意事項(xiàng) 36511.2.4 轉(zhuǎn)換到顯示列表 36511.3 測(cè)量性能 36611.4 頂點(diǎn)數(shù)組 37011.4.1 載入幾何圖形 37311.4.2 啟用數(shù)組 37411.4.3 數(shù)據(jù)在哪里 37411.4.4 進(jìn)行繪圖 37511.4.5 索引頂點(diǎn)數(shù)組 37611.5 小結(jié) 38511.6 參考 385第12章 交互式圖形 39512.1 選擇 39512.1.1 為圖元命名 39612.1.2 在選擇模式下工作 39712.1.3 選擇緩沖區(qū) 39812.1.4 挑選 39912.1.5 層次式挑選 40112.1.6 反饋 40412.1.7 反饋緩沖區(qū) 40412.1.8 反饋數(shù)據(jù) 40512.1.9 用戶定義標(biāo)記 40512.2 一個(gè)反饋例子 40612.2.1 對(duì)物體加上標(biāo)簽以便反饋 40612.2.2 步驟1:選擇物體 40812.2.3 步驟2:從物體獲取反饋信息 40912.3 小結(jié) 41112.4 參考 411第二部分 OpenGL無處不在第13章 Windows上的OpenGL Wiggle 41713.1 Windows上的OpenGL實(shí)現(xiàn) 41713.1.1 泛型OpenGL 41813.1.2 可安裝客戶驅(qū)動(dòng)程序(ICD) 41813.1.3 Mini客戶驅(qū)動(dòng)程序(MCD) 41813.1.4 Mini驅(qū)動(dòng)程序 41913.1.5 擴(kuò)展OpenGL 41913.2 基本的窗口渲染 42013.2.1 GDI設(shè)備環(huán)境 42013.2.2 像素格式 42113.2.3 OpenGL渲染環(huán)境 42613.3 綜合應(yīng)用 42713.3.1 創(chuàng)建窗口 42713.3.2 使用OpenGL渲染環(huán)境 43013.3.3 其他Windows消息 43313.4 Windows調(diào)色板 43413.4.1 顏色匹配 43413.4.2 調(diào)色板仲裁 43513.4.3 為OpenGL創(chuàng)建調(diào)色板 43613.4.4 調(diào)色板的創(chuàng)建和銷毀 43913.5 OpenGL和Windows字體 44013.5.1 3D字體和文本 44113.5.2 2D字體和文本 44213.6 全屏渲染 44413.6.1 創(chuàng)建一個(gè)無邊框窗口 44413.6.2 創(chuàng)建一個(gè)全屏窗口 44513.7 多線程渲染 44713.8 OpenGL和WGL擴(kuò)展 44813.8.1 簡(jiǎn)單擴(kuò)展 44813.8.2 使用新入口 44913.8.3 WGL擴(kuò)展 44913.9 小結(jié) 47013.10 參考 470第14章 MacOS X上的OpenGL 48214.1 基礎(chǔ)知識(shí) 48214.1.1 框架 48214.1.2 使用GLUT API 48314.2 使用AGL和Carbon API 48314.2.1 像素格式 48314.2.2 管理渲染環(huán)境 48414.2.3 執(zhí)行雙緩沖渲染 48514.2.4 你的第一個(gè)AGL程序 48514.2.5 使用位圖字體 49414.3 使用Cocoa API 50414.3.1 NSOpenGL類 50414.3.2 你的第一個(gè)Cocoa程序 50514.4 小結(jié) 51214.5 參考 512第15章 GLX:Linux上的OpenGL 51615.1 基礎(chǔ)知識(shí) 51615.1.1 使用OpenGL和X11函數(shù)庫 51615.1.2 使用GLUT函數(shù)庫 51815.1.3 Linux上的OpenGL 51815.1.4 OpenGL模擬:Mesa 51915.2 X Window系統(tǒng)的OpenGL擴(kuò)展 51915.2.1 X Window系統(tǒng)基礎(chǔ)知識(shí) 51915.2.2 選擇畫面 51915.2.3 管理OpenGL渲染環(huán)境 52015.2.4 創(chuàng)建OpenGL窗口 52115.2.5 雙緩沖窗口 52115.2.6 綜合應(yīng)用 52115.3 為OpenGL創(chuàng)建位圖字體 52815.4 離屏渲染 53715.4.1 使用GLX Pixmap 53715.4.2 使用Pbuffer 54115.5 使用Motif函數(shù)庫 54615.5.1 GLwDrawingArea和GLwMDrawingArea 54615.5.2 回調(diào)資源 54715.5.3 函數(shù) 54815.5.4 綜合應(yīng)用 54915.6 小結(jié) 55715.7 參考 557第三部分 下一代OpenGL第16章 緩沖區(qū)對(duì)象 56516.1 頂點(diǎn)數(shù)組 56616.1.1 生成球狀微粒云彩 56616.1.2 啟用頂點(diǎn)數(shù)組 56716.1.3 使用更多的球體 56816.2 遷移到緩沖區(qū)對(duì)象 56916.2.1 緩沖區(qū)對(duì)象管理 57016.2.2 用緩沖區(qū)對(duì)象進(jìn)行渲染 57116.3 把數(shù)據(jù)載入到緩沖區(qū)對(duì)象 57116.3.1 把數(shù)據(jù)復(fù)制到緩沖區(qū)對(duì)象 57116.3.2 直接映射緩沖區(qū)對(duì)象 57216.4 補(bǔ)遺 57516.5 小結(jié) 57616.6 參考 576第17章 遮擋查詢 58117.1 遮擋查詢之前的世界 58117.2 邊框 58417.3 對(duì)查詢對(duì)象進(jìn)行查詢 58717.4 小結(jié) 58917.5 參考 589第18章 深度紋理和陰影 59318.1 作為光源 59418.1.1 使場(chǎng)景正好占據(jù)整個(gè)窗口 59418.1.2 去掉華而不實(shí)的東西 59418.2 一種新類型的紋理 59718.3 首先繪制陰影 59718.4 然后是光照 59818.4.1 投影陰影貼圖:“為什么” 59818.4.2 投影陰影貼圖:“怎么做” 59918.4.3 陰影比較 60018.5 只用兩個(gè)就夠了 60518.6 關(guān)于多邊形偏移 60618.7 小結(jié) 60618.8 參考 607第19章 可編程管線 60919.1 舊的被淘汰 60919.1.1 固定的頂點(diǎn)處理 60919.1.2 固定的片斷處理 61119.2 新的占主導(dǎo) 61219.2.1 可編程頂點(diǎn)著色器 61219.2.2 固定功能膠水 61419.2.3 可編程片斷著色器 61419.3 著色器擴(kuò)展介紹 61519.3.1 低層擴(kuò)展 61519.3.2 高層擴(kuò)展 61719.4 小結(jié) 618第20章 低層著色(深入底層) 61920.1 管理低層著色器 61920.1.1 創(chuàng)建和綁定著色器 61920.1.2 載入著色器 62020.1.3 刪除著色器 62120.1.4 設(shè)置擴(kuò)展 62120.2 指令集 62220.2.1 常用指令 62220.2.2 專用于頂點(diǎn)的指令 62320.2.3 專用于片斷的指令 62420.3 變量類型 62420.3.1 臨時(shí)變量 62520.3.2 參數(shù) 62520.3.3 屬性 62620.3.4 輸出 62820.3.5 別名 62920.3.6 地址 62920.4 輸入和輸出限定符 63020.4.1 輸入取負(fù) 63020.4.2 輸入Swizzle 63020.4.3 輸出寫入掩碼 63020.4.4 輸出限定 63020.5 資源消耗和隊(duì)列 63120.5.1 解析器限制 63120.5.2 本地限制 63220.5.3 其他查詢 63320.6 著色器選項(xiàng) 63320.6.1 位置不變性頂點(diǎn)選項(xiàng) 63420.6.2 霧應(yīng)用片段選項(xiàng) 63420.6.3 精度提示片斷選項(xiàng) 63420.7 小結(jié) 63420.8 參考 634第21章 高層著色 64421.1 管理高層著色器 64421.1.1 著色器對(duì)象 64421.1.2 程序?qū)ο蟆?4621.1.3 設(shè)置擴(kuò)展 64721.2 變量 64821.2.1 基本類型 64821.2.2 結(jié)構(gòu) 64921.2.3 數(shù)組 65021.2.4 修飾符 65021.2.5 內(nèi)置的變量 65021.3 表達(dá)式 65121.3.1 操作符 65121.3.2 數(shù)組訪問 65221.3.3 構(gòu)造函數(shù) 65221.3.4 成分選擇 65321.4 控制流 65321.4.1 循環(huán) 65421.4.2 if/else 65421.4.3 discard 65421.4.4 函數(shù) 65421.5 小結(jié) 65621.6 參考 657第22章 頂點(diǎn)著色 66822.1 初次試驗(yàn) 66822.2 散射光照 67022.3 鏡面光照 67222.4 改善鏡面光照 67422.5 基于頂點(diǎn)的霧 68022.6 基于頂點(diǎn)的點(diǎn)大小 68322.7 自定義的頂點(diǎn)轉(zhuǎn)換 68522.8 頂點(diǎn)混合 68722.9 小結(jié) 691第23章 片斷著色器 69223.1 顏色轉(zhuǎn)換 69223.1.1 灰度 69223.1.2 調(diào)棕色 69423.1.3 反色 69423.1.4 熱信號(hào) 69623.1.5 基于片斷的霧 69723.2 圖像處理 69923.2.1 模糊 69923.2.2 銳化 70223.2.3 膨脹和侵蝕 70323.2.4 邊緣檢測(cè) 70523.3 光照 70723.3.1 散射光照 70723.3.2 多重鏡面光照 71023.4 過程紋理貼圖 71423.4.1 棋盤紋理 71423.4.2 沙灘球紋理 71823.4.3 玩具球紋理 72223.5 小結(jié) 727附錄A 推薦讀物 728A.1 其他優(yōu)秀的OpenGL書籍 728A.2 3D圖形書籍 728A.3 網(wǎng)站 728附錄B 術(shù)語表 730附錄C OpenGL ES 733C.1 數(shù)據(jù)類型的削減 733C.2 完全消除的特性 733C.3 大幅度削減了的功能 734C.3.1 紋理貼圖 734C.3.2 光柵操作 734C.3.3 光照 735C.4 小結(jié) 735

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

  本書包括以下內(nèi)容:  ·在PC上創(chuàng)建三維物體?!  ぴ谔摂M世界中移動(dòng)物體或觀察者。  ·利用在WINDWOS、MAC OS X和LINUX上實(shí)現(xiàn)更快的實(shí)時(shí)渲染的技巧。  ·利用OPENGL硬件加速?!  ?chuàng)建交互式三維場(chǎng)景。  ·利用新的OPENGL著色語言和可編程圖形硬件?! ‰S書光盤包括:  ·所有示例程序的完整源代碼?!  LUT函數(shù)庫和用于WINDOWS的RENDERMONKEY?!  IGHT HEMISPHERE的DEEP EXPLORATION 演示版本?!  ね暾腜DF格式的OPENGL規(guī)范?!  じ劫?zèng)的OPENGL示例程序。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    OpenGL超級(jí)寶典 PDF格式下載


用戶評(píng)論 (總計(jì)4條)

 
 

  •   我們公司不用opengl,但是此書是非常不錯(cuò)的.我們公司不用opengl,但是此書是非常不錯(cuò)的.我們公司不用opengl,但是此書是非常不錯(cuò)的.我們公司不用opengl,但是此書是非常不錯(cuò)的.我們公司不用opengl,但是此書是非常不錯(cuò)的.我們公司不用opengl,但是此書是非常不錯(cuò)的.
  •   此書確實(shí)不錯(cuò),對(duì)我?guī)椭Υ蟮摹?/li>
  •   我覺得挺好的,淺顯易懂.比較適合初學(xué)者.
  •   我看完之后,發(fā)覺還有一點(diǎn)不足:就是翻譯的語句有時(shí)不是很附合中國人的習(xí)慣!長(zhǎng)句多,要么不好理解!原英文版的書一定不錯(cuò)!
 

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

京ICP備13047387號(hào)-7