出版信息
定價: 29.00 元
閱讀指導
《計算機圖形學課程設計》的每一章均獨立組織,以開發教程的形式對知識點進行講解,首先介紹該知識點的目標、編程API,並結合示例代碼進行詳細分解,最後給出小結和習題。如果讀者已經具有較好的OpenGL基礎,只想了解某些章節的知識,可以直接跳到該章節開始閱讀;而對於計算機圖形學編程的初學者,則推薦按照《計算機圖形學課程設計》的3個層次順序進行閱讀。
內容簡介
本書覆蓋的計算機圖形學基礎知識可以分為如下三個層次。
編程基礎:OpenGL基礎、二三維圖形編程;
中級知識:三維光照、紋理、文字、反走樣、曲線曲面、拾取與反饋;
高級話題:三維繪製加速技術、OpenGL緩衝區、三維動畫模型、最新的OpenGL著色語言。
本書的內容儘量在廣度和深度間取得平衡:配合計算機圖形學課程的主要內容,及時反映OpenGL的最新進展。例如OpenGL著色語言的編寫參考了2006年推出的OpenGL2.1規範的部分內容。
本書的每一章均獨立組織,以開發教程的形式對知識點進行講解,首先介紹該知識點的目標、編程API,並結合示例代碼進行詳細分解,最後給出小結和習題。
如果讀者已經具有較好的OpenGL基礎,只想了解某些章節的知識,可以直接跳到該章節開始閱讀;而對於計算機圖形學編程的初學者,則推薦按照本書的3個層次順序進行閱讀。
本書為計算機圖形學的實驗課教材,教師可以在講述了相關圖形學理論知識後,讓學生閱讀本書的相應章節,並將習題作為實驗課的實驗內容,讓學生進行練習。
本書內容主要來自作者本身的科研和教學實踐。兩位作者有多年計算機圖形學開發實踐經驗,並一直從事計算機圖形學課程的本科教學工作。
本書的習題大多來自浙江大學計算機科學與技術學院和軟體學院本科生計算機圖形學實驗課的實驗內容。從作者的教學實踐來看,這些習題具有較強的適用性和較大的靈活性,為學生進行實驗提供了擴展空間。
目錄
第1章OpenGL基礎
1.1OpenGL是什麼
1.2OpenGL發展歷史
1.3OpenGL狀態機
1.4OpenGL語法
1.5OpenGL程式流程
1.6OpenGL程式開發
1.6.1用GLUT庫進行OpenGL程式開發
1.6.2用win32API進行OpenGL程式開發
1.6.3使用MFC類庫進行OpenGL程式開發
1.7OpenGL的套用
1.8OpenGL與DirectX的對比
1.9小結
習題1
第2章二維圖形繪製
2.1OpenGL圖元
2.2圖元屬性
2.2.1點劃線定義
2.2.2點的尺寸
2.2.3線寬
2.3多邊形繪製模式
2.3.1使用點劃線
2.3.2邊標記
2.4多邊形著色模式
2.5小結
習題2
第3章三維圖形繪製
3.1OpenGL三維繪製流水線
3.2模型變換
3.3視點設定
3.4投影變換
3.5視區變換
3.6小結
習題3
第4章幾何變換
4.12D幾何變換
4.2仿射變換
4.2.1右手坐標系和左手坐標
4.2.2推導
4.2.3齊次坐標
4.2.4變換矩陣
4.3組合變換
4.3D幾何變換
4.4.1齊次坐標系
4.4.2推導
4.4.33D變換矩陣
4.4.4繞任意點旋轉
4.4.5繞任意軸旋轉
4.5改變坐標系的變換
4.6OpenGL中的幾何變換
4.6.1變換矩陣相關函式
4.6.2使用變換
4.6.3層次建模
4.7OpenGL矩陣操作
4.7.1OpenGL矩陣數據格式
4.7.2設定OpenGL矩陣
4.7.3獲取當前的矩陣
4.8小結
習題4
第5章觀察和投影變換
5.1觀察變換
5.2投影變換
5.2.1E投影
5.2.2透視投影
5.3小結
習題5
第6章光源和材料
6.1OpenGL光源
6.1.1光源
6.1.2光源和材料屬性
6.2材料屬性
6.3光源與材料的數學關係
6.4照亮場景
6.4.1創建一個光源
6.4.2表面的朝向
6.5創建不同的光源
6.5.1位置和方向光源
6.5.2效果
6.5.3筒燈
6.6材料設定
6.7小結
習題6
第7章紋理映射
7.1在多邊形上貼紋理
7.2紋理和光照的混合
7.3自動生成紋理坐標
7.4多重紋理
7.5小結
習題7
第8章加速渲染——頂點數組、顯示列表和頂點緩衝對象
8.1頂點數組(VertexArray)
8.2顯示列表(DisplayList)
8.3頂點緩衝對象(VertexBufferobject,VBO)
8.4小結
習題8
第9章文字輸出
9.1點陣圖文字輸出
9.2系統字型文字輸出
9.33D文字輸出
9.4漢字輸出
9.5小結
習題9
第10章反走樣
10.1基本概念
10.1.1什麼是走樣
10.1.2走樣產生的原因
10.1.3OpenGL反走樣機制
.10.1.4OpenGL反走樣函式
10.2OpenGL全螢幕反走樣
10.2.1視窗初始化
10.2.2進行繪製
10.2.3效果對比
10.3小結
習題10
第11章曲線曲面
11.1二次曲線、曲面
11.2Bezier曲線、曲面
11.3OpenGL求值器
11.4NURBS模型繪製
11.5裁剪NURBS曲面
11.6小結
習題11
第12章拾取和反饋
12.:1OpenGL的拾取機制
12.1.1名字堆疊
12.1.2演示代碼
12.2OpenGL的反饋機制
12.3小結
習題12
第13章OpenGL快取
13.1基本概念
13.2如何使用這些快取
13.2.1清理快取
13.2.2顏色快取的使用
13.2.3深度快取的使用
13.2.4模板快取的使用
13.3使用Alpha測試繪製透明圖片
13.3.1Alpha混合
13.3.2A1pha測試
13.3.3透明圖片
13.4陰影映射
13.4.1理論
13.4.2套用
13.5小結
習題13
第14章MD2三維模型與動畫.
14.1MD2檔案介紹
14.1.1MD2檔案格式
14.1.2開發一個CMD2Model類
14.1.3讀入MD2模型
14.1.4繪製模型
14.1.5三維模型動畫
14.2MD2檔案的動畫示例
14.3小結
習題14
第15章OpenGL著色語言
15.1基本概念
15.1.1繪製流水線
15.1.2頂點處理器
15.1.3片段處理器
15.2為使用OpenGL著色語言進行設定
15.3編寫著色器
15.3.1頂點波動的特效
15.3.2像素級光照
15.4小結
習題15
參考文獻