iPhone三維程式設計基於OpenGL ES的圖形應用程式設計

iPhone三維程式設計基於OpenGL ES的圖形應用程式設計

基本介紹

  • 書名:iPhone三維程式設計基於OpenGL ES的圖形應用程式設計 
  • 作者:黃麗臣 
  • ISBN:9787302251286 
  • 定價:69元
  • 出版社:清華大學出版社 
  • 出版時間:2011.12.01
  • 印次:1-1
  • 印刷日期:2011.11.22
內容簡介,目錄,

    內容簡介

    本書詳細闡述了基於OpenGL ES的3D圖形程式設計,主要包括頂點和觸摸點、景深和現實感、紋理和圖像捕捉、混合操作與增強現實感、精靈和文本、高級光照和紋理以及最佳化操作等內容。本書還提供了相應的代碼以及偽代碼,以幫助讀者進一步理解渲染方案的實現過程。

    目錄

    O’ReillyMedia,Inc.介紹 I
    譯者序 III
    序 V
    前言 VII
    第1章快速入門 1
    向Apple技術過渡 2
    Objective-C語言 3
    OpenGLES的發展簡史 3
    選擇正確的OpenGLES版本 4
    開始項目 5
    安裝iPhoneSDK 5
    利用Xcode創建OpenGL模板程式 6
    將程式發布至iPhone上 7
    具有固定功能的HelloArrow程式 8
    3D應用程式的層次結構 8
    啟動項目 10
    連結至OpenGL庫和Quartz庫 11
    UIView子類 12
    掛接程式委託 17
    生成圖示並發布鏡像檔案 19
    狀態欄 19
    渲染引擎接口的定義和使用 20
    渲染引擎的實現 24
    處理設備的方向 27
    旋轉動畫 29
    利用著色器編寫HelloArrow程式 31
    著色器 32
    框架結構 34
    GLView 34
    實現RenderingEngine 35
    小結 40
    第2章數學知識 41
    裝配線 41
    基於頂點的圖元裝配 42
    頂點屬性 44
    頂點的生命周期 47
    裝配線類比 48
    設定模型矩陣 52
    縮放 52
    平移操作 53
    旋轉操作 54
    設定視圖轉換 55
    設定投影轉換 56
    利用矩陣棧存儲和恢復轉換操作 59
    動畫 61
    插值技術 61
    基於四元數的旋轉動畫 62
    基於C++的向量 63
    基於固定功能的HelloCone程式 66
    RenderingEngine聲明 66
    OpenGL初始化操作和錐體的細分操作 68
    3D平滑旋轉 72
    Render()方法 73
    基於著色器的HelloCone程式 75
    小結 77
    第3章頂點和觸摸點 79
    讀取觸控螢幕 79
    採用頂點索引以節省記憶體空間 85
    通過頂點緩衝對象獲取性能提升 90
    創建線框模式的觀察器 95
    參數化表面 96
    接口設計 100
    跟蹤球旋轉 102
    渲染引擎的實現 105
    簡化的標籤欄 107
    漸變動畫 111
    小結 114
    第4章景深和現實感 115
    深度緩衝區 115
    深度緩衝衝突 117
    創建並使用深度緩衝區 118
    利用三角形填充線框 120
    表面法線 124
    向OpenGL傳遞法線 124
    基於法線的數學知識 125
    法線的轉換 127
    從參數表面中生成法線 128
    光照計算 131
    環境光 131
    粗糙表面的漫反射光照 131
    鏡面光 133
    向ModelViewer添加光照 134
    使用光照特徵 138
    著色器分析 139
    向ModelViewer中添加著色器 142
    新型渲染引擎 144
    像素光照 147
    卡通著色 149
    採用多邊形偏移渲染線框對象 151
    從OBJ檔案中載入幾何體 152
    資源檔案的管理 154
    實現ISurface接口 157
    小結 158
    第5章紋理和圖像捕捉 159
    向ModelViewer程式添加紋理 159
    改進IResourceManager接口 161
    生成紋理坐標 163
    在ES1::RenderingEngine中開啟紋理功能 166
    在ES2::RenderingEngine中開啟紋理功能 169
    再訪紋理坐標 174
    基於過濾機制的抗鋸齒操作 175
    通過紋理鏈提升渲染質量和性能 178
    改進ModelViewer程式以支持紋理鏈 180
    紋理格式和類型 181
    多種格式的數據載入 182
    基於PVRTC的紋理壓縮 185
    PowerVRSDK和低精度紋理 193
    利用Quartz生成並轉換OpenGL紋理 195
    紋理尺寸限制 198
    POT紋理的縮放操作 201
    利用相機創建紋理 202
    實現CameraTexture程式中的渲染引擎 209
    小結 214
    第6章混合操作與增強現實感 216
    混合操作 216
    預乘alpha值 218
    混合操作中的注意事項 220
    混合擴展操作 221
    混合操作的作用 222
    利用頂點顏色值調整紋理顏色 223
    利用模板緩衝區實現反射計算 224
    渲染圓形對象 226
    利用模板緩衝區渲染反射對象 229
    渲染對象 230
    利用由前向後的混合方式渲染圓形對象 230
    早期iPhone設備的模板替代方案 230
    基於離屏FBO的抗鋸齒技術 232
    超採樣示例 233
    抖動採樣 241
    其他FBO效果 245
    基於紋理的抗鋸齒直線渲染 246
    Holodeck示例程式 249
    程式框架 250
    渲染穹頂、雲彩以及文本 252
    渲染HUD 257
    通過方位感測器替換按鈕對象 262
    添加加速計功能 262
    使用真實的相機圖像 268
    小結 272
    第7章精靈和文本 273
    文本渲染:繪製FPS計數器 273
    利用Python語言生成字元紋理 275
    渲染FPS文本 279
    利用glDrawTexOES實施簡化操作 284
    基於距離場的文本 287
    通過Python生成距離場 289
    在ES1.1中通過alpha測試使用距離場 291
    利用片元著色器添加文本效果 292
    平滑渲染與導數計算 292
    實現輪廓線、光暈以及陰影效果 295
    精靈表動畫 298
    圖像合成以及多重紋理 299
    OpenGLES與UIKit之間的混合操作 302
    利用點精靈渲染紙屑、焰火等 304
    SpringyStars示例程式 305
    彈簧體的物理原理 306
    C++接口和GLView 309
    實現ApplicationEngine 310
    OpenGLES1.1版本渲染引擎和加法混合計算 313
    基於OpenGLES2.0的點精靈 315
    小結 318
    第8章高級光照和紋理 319
    OpenGLES1.1中的紋理環境 319
    紋理合成操作 322
    凹凸紋理和DOT3光照 325
    線性代數知識 327
    生成基向量 327
    基於OpenGLES2.0的法線貼圖 329
    基於OpenGLES1.1的法線貼圖 332
    生成對象空間內的法線貼圖 333
    立方體貼圖反射 335
    渲染立方體貼圖 339
    各向異性過濾 340
    圖像處理示例:模糊操作 342
    基於混合方法的高性能解決方案 345
    高斯模糊計算示例代碼 346
    小結 352
    第9章最佳化操作 353
    度量方法 353
    理解CPU和GPU 354
    使用VBO 354
    批處理 355
    混合頂點屬性 356
    最佳化頂點格式 358
    使用最佳拓撲結構和索引機制 359
    光照最佳化 359
    基於對象空間的光照 360
    重述DOT3光照 360
    烘焙光照 360
    紋理最佳化 361
    剔除和剪裁 361
    多邊形焊接 361
    剪裁面 362
    基於CPU的剔除操作 363
    著色器性能 363
    運行條件 364
    kill指令 364
    紋理查找 365
    利用頂點混合最佳化 365
    蒙皮計算示例代碼 366
    基於OpenGLES2.0的蒙皮計算 368
    基於OpenGLES1.1的蒙皮計算 370
    計算權值和索引 373
    聚縮效應 374
    進一步閱讀 374
    附錄C++向量庫 376
    XVIII
    XVII

    相關詞條

    熱門詞條

    聯絡我們