《計算機圖形學基礎(OpenGL版)》第2版前言

    本書計劃於2019年底由清華大學出版社出版。

隨着虛擬現實和5G技術的發展,計算機圖形學將會發揮更加重要的基礎作用,因此,越來越多的高校開設了圖形學課程,同時也有更多的技術愛好者加入了圖形學的學習隊伍。爲了更好地幫助讀者學習和掌握計算機圖形學,作者用心地改版了這本書。下面對本書的指導思想進行一些介紹,希望在這些重要問題上和讀者取得共識,之後介紹下本書內容組織及改版情況。

1.指導思想

(1)自頂向下

圖形學內容繁多複雜,很容易讓學生在學習一學期後仍不得要領。針對此問題,本書在整體上採用自頂向下原則來組織內容,從計算機圖形學定義出發,緊緊圍繞圖形繪製流水線這條主線進行圖形學內容介紹,讓讀者在各章內容學習的同時,頭腦中始終明確該章內容在圖形繪製流水線中的定位和作用,從而能更整體、全面地學習與掌握計算機圖形學。

(2)循序漸進

另一方面,學習是一個循序漸進的過程,一本教材也應當儘可能按照循序漸進的原則和方式來組織教材內容。因此,本書在整體上遵循圖形繪製流水線這條主線的同時,在具體內容組織則遵循循序漸進的原則來處理。首先,循序漸進介紹圖形繪製流水線。我們分別在第1、2、7章從不同層面、不同角度對圖形繪製流水線進行介紹,讓讀者逐漸深入地瞭解圖形繪製流水線這一主線。其次,按照由易到難、由外而內的順序介紹圖形繪製流水線各部分知識。爲了幫助讀者更好地從整體上理解和認識圖形繪製流水線,本書首先在第2章介紹了圖形系統,再由外而內,從圖形顯示的光柵化入手,介紹了基本圖形的光柵化。之後再介紹變換與觀察,到三維造型與真實感圖形,完成整個圖形繪製流水線的介紹。

(3)OpenGL定位

對本書而言,OpenGL定位於學習輔助工具,即通過OpenGL來輔助學習與掌握圖形學相關知識與技術。因此,本書沒有像OpenGL編程指南一樣地把它的各方面知識都一一介紹,而是僅介紹了對於學習圖形學來說必要的那些部分。也正是基於這一考慮,本書沒有基於最新基於可編程流水線的OpenGL版本,而是採用了學習難度與臺階較小的基於固定流水線的OpenGL版本來介紹,這樣可以使讀者更好地聚焦到圖形學內容上。同時我們相信,如果讀者以本書爲臺階,再去學習最新版的OpenGL會更加容易和高效。

2.內容組織

本書的圖形學內容體系,如圖0.1所示。其中,圖形學基礎模塊是學習計算機圖形學的一些數學與相關軟硬件的基礎知識;建模模塊是爲了解決圖形學的建模與表示任務;繪製模塊用來解決圖形學的繪製任務。各知識模塊及相應章節內容簡要介紹如下。
圖形學內容體系
圖0.1. 本書的圖形學內容體系

(1) 基礎模塊:

圖形學基礎主要包括數學以及與之相關軟、硬件基礎知識。數學基礎知識包括向量、矩陣、齊次座標和幾何變換等,是計算機圖形學中重要的計算工具,它們被大量地運用到真實感圖形生成過程中的法向計算,還有直線、平面及各種曲面的計算,曲線曲面的構造與光順等。其中向量、矩陣等知識請讀者自行查閱相關書籍,本書不作介紹。幾何變換知識將在第4章詳細介紹。
軟、硬件基礎知識包括常見圖形API,如OpenGL、Direct3D等,圖形輸出設備與輸出技術的簡單基礎知識如光柵顯示器基本原理、圖形流水線等知識將在第2章中介紹。

(2)建模模塊:

主要集中在本書的第6章,主要介紹多邊形網格模型表示、曲線曲面表示方法等,爲圖形繪製流水線的應用程序階段服務。

(3)繪製模塊:

繪製模塊主要爲圖形繪製流水線後兩個階段即幾何處理和光柵階段服務,其中幾何處理主要負責大部分多邊形和頂點的變換操作,這將在第5章介紹三維觀察和有關頂點座標變換問題。光柵階段主要負責光柵化和像素着色任務,其中光柵化將在第3章介紹,而像素着色則會在第8章介紹。
附錄A是含有12個實驗的實驗教程。

3.相對第1版的變化
  • 總體修改:刪去第5章二維觀察,第9章交互技術,第10章計算機動畫。附錄B內容移至線上課程相關網站,供讀者參考。具體修改情況如下:
  • 第1章將原內容按照圖形學的4W(What, Why, Where, When)方面來整理,使原內容邏輯更清晰;增加“1.1.2什麼是計算機圖形學”、“1.1.3圖形繪製兩種策略”和“1.1.4圖形繪製流水線”;
  • 第2章增加“2.4.4 顯卡和圖形處理器”、“2.5圖形流水線”,將原“8.3顏色模型”提前爲“2.3顏色模型”;
  • 第3章:將原第5章中的裁剪內容移至“3.7裁剪”,並改寫了“3.2直線段光柵化”、“3.3圓弧光柵化”和“3.6反走樣技術”;
  • 第4章增加“4.1.4二維幾何變換通式與總結”和“4.4.3變換應用實例——正方形旋轉動畫”;
  • 第5章原“6.1三維觀察流水線”改爲“5.1三維觀察流程”並增加大量新內容,改寫了“5.2觀察變換”、“5.3.3透視投影”節內容;
  • 第6章按某一類曲線曲面來介紹,如Bezier曲線曲面,不再按Bezier曲線和Bezier曲面分開介紹,增加“6.4.5 NURBS曲線曲面”;
  • 第7章進行了大量的精簡和改寫,同時增加“7.8圖形流水線再分析”;
  • 附錄實驗指導在原有實驗基礎上,增加了4個實驗: “實驗7 3D機器人”、“實驗8 OpenGL太陽系動畫”、“實驗10 OpenGL紋理映射”和“實驗12 B樣條曲面生成”。
4.適用對象

本書旨在服務於32~48學時的本科圖形學教學與學習。它具有以下特點:以經典圖形學知識爲主,同時注重結合OpenGL圖形應用編程來詳細介紹相關技術實例;以OpenGL爲教學平臺與實驗平臺,提供實驗指導書,以更好地滿足教學需要;內容精煉,服務本科教學需要,不過多涉及最新技術。
在閱讀本書之前,讀者應該瞭解C或者C++語言,瞭解簡單的數據結構知識,有一些線性代數的初步知識。
歡迎讀者在閱讀本書的過程中,對本書存在的缺點和問題提出批評與建議。在此提供以下方式供讀者聯繫或反饋我:作者個人博客:http://blog.csdn.net/wpxu08/;個人網站https://wpxu08.com/;微信公衆號:wpxnew;郵箱:[email protected]。歡迎大家留言,同時上述網站中會有一些與本教材相關的教學建議、章節代碼、實驗指導、模擬試題等內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章