課程目錄

360截圖華中科技大學-計算機圖形學精品課.jpg

計算機圖形學計算機學院 黃章進zhuang@ustc.edu.cn第二章 計算機圖形系統(tǒng)2.1 圖形系統(tǒng)的組成2.2 輸出設(shè)備2.3 輸入設(shè)備2.4 成像模型2.5 渲染流水線2.6 圖形API2Sketchpad項目• Ivan Sutherland (MIT 1963年)建立了刻畫交互式計算機圖形學的基本框架:– 用戶在顯示器上看到一個對象(的圖像)– 用戶利用輸入設(shè)備(光筆、鼠標、跟蹤球等)點選該對象– 對象發(fā)生改變(移動、旋轉(zhuǎn)、變形等)– 重復上述過程圖形系統(tǒng)的主要元素• 輸入設(shè)備• 中央處理器(CPU)• 圖形處理器(GPU)• 存儲器• 幀緩沖區(qū)• 輸出設(shè)備4交互式圖形系統(tǒng)圖像在幀緩存形成輸入設(shè)備 輸出設(shè)備5像素與光柵• 現(xiàn)代圖形系統(tǒng)都是基于光柵的,在輸出設(shè)備上看到的圖像都是圖形元素組成的的陣列。• 像素(pixel=picture element):圖像的基本單元• 光柵(raster):像素的陣列6幀緩沖區(qū)• 幀緩沖區(qū)(frame buffer):圖形系統(tǒng)的核心部件,存儲屏幕上像素的顏色信息• 分辨率(resolution):幀緩沖區(qū)中像素的個數(shù)• 深度(depth)或精度(precision):每個像素的位數(shù)– 全彩(真彩)色:24位, 224 種顏色。也稱為RGB-顏色,每個像素被賦予紅、綠、藍三基色顏色組(各8位)7處理器• CPU (Central Processing Unit)• GPU (Graphics Processing Unit)• 處理由應用程序生成的圖元(線段、圓和多邊形等)的屬性,并為幀緩沖區(qū)中的像素賦值• 光柵化或掃描轉(zhuǎn)換:幾何實體到幀緩沖區(qū)中像素的顏色和位置的轉(zhuǎn)換過程。8第二章 計算機圖形系統(tǒng)2.1 圖形系統(tǒng)的組成2.2 輸出設(shè)備2.3 輸入設(shè)備2.4 成像模型2.5 渲染流水線2.6 圖形API9輸出設(shè)備 • 顯示器 • 投影儀 • 繪圖儀 • 打印機10圖形顯示設(shè)備的發(fā)展• 60年代中期:畫線顯示器(亦稱向量顯示器)– 需要刷新;設(shè)備昂貴,限制普及• 60年代后期:存儲管式顯示器– 不需刷新,價格較低,缺點是不具有動態(tài)修改圖形功能,不適合交互• 70年代初,刷新式光柵掃描顯示器出現(xiàn),大大地推動了交互式圖形技術(shù)的發(fā)展– 以點陣形式表示圖形,使用專用的緩沖區(qū)存放點陣,由視頻控制器負責刷新掃描11圖形顯示設(shè)備 • 刷新式CRT – 光柵掃描顯示器 – 隨機掃描顯示器 – 彩色CRT顯示器 • 平板顯示器 – 發(fā)射顯示器 – 非發(fā)射顯示器 • 三維觀察設(shè)備12刷新式CRT• CRT(Cathode Ray Tube ):陰極射線管• 組成:包括電子槍、聚焦系統(tǒng)、加速電極、偏轉(zhuǎn)系統(tǒng)、熒光屏• 工作原理:電子槍發(fā)射電子束,經(jīng)過聚焦系統(tǒng)、加速電極、偏轉(zhuǎn)系統(tǒng),轟擊到熒光屏的不同部位,被其內(nèi)表面的熒光物質(zhì)吸收,發(fā)光產(chǎn)生可見的圖形13CRT顯示器• 余輝時間:從屏幕發(fā)光到衰減為其原亮度十分之一的時間• 刷新率:在屏幕上重復畫圖的頻率14光柵掃描顯示器• 基于電視技術(shù)• 電子束橫向掃描屏幕,一次一行,從頂?shù)降滓来芜M行– 每一行稱為一條掃描線(scan line)– 一次掃描所產(chǎn)生的圖像稱為一幀(frame)• 圖形元素或像素(pixel, picture element):每個可由電子束點亮的屏幕點• 圖形信息保存在刷新緩沖區(qū)或幀緩沖區(qū)– 每像素一位的幀緩沖區(qū)稱為位圖(bitmap)– 每像素多位的幀緩沖區(qū)稱為像素圖(pixmap)16光柵掃描顯示器17光柵掃描顯示器• 水平回掃:刷新每條掃描線后,電子束回到屏幕左端• 垂直回掃:在每幀的終止處,電子束返回到屏幕的左上角18隔行掃描• 可采用隔行刷新方式分兩次顯示每一幀19隨機掃描顯示器• 隨機掃描顯示器也稱為向量顯示器、筆劃顯示器或筆跡顯示器• 電子束只在屏幕上顯示圖形的部分移動• 電子束逐條地跟蹤圖形的組成線段,生成線框圖• 圖形的定義是存放在稱為刷新顯示文件存儲區(qū)的一組畫線命令– 刷新顯示文件稱為顯示列表、向量文件或顯示程序20隨機掃描顯示器21隨機掃描顯示器• 隨機掃描系統(tǒng)的刷新頻率依賴于顯示的線段數(shù)• 隨機掃描系統(tǒng)用于畫線應用,不能顯示逼真的有陰影場景• 向量顯示器一般具有比光柵系統(tǒng)更高的分辨率• 向量顯示器生成光滑線條,而光柵系統(tǒng)生成鋸齒狀線條• 光柵系統(tǒng)以其靈活性和提高的畫線能力淘汰了向量技術(shù)22彩色CRT顯示器• 利用能發(fā)射不同顏色光的熒光層的組合來顯示彩色圖形• 電子束穿透法– 用于隨機掃描監(jiān)視器– 使用紅和綠兩層熒光層– 顏色由電子束在熒光層中的穿透深度決定• 紅、綠、橙、黃四色• 蔭罩法– 用在光柵掃描系統(tǒng)– 產(chǎn)生RGB顏色模型表示的彩色范圍23彩色蔭罩式CRT24平板顯示器• 平板顯示器相比CRT能減小體積、減輕重量并節(jié)省能耗• 分為兩類– 發(fā)射顯示器• 將電能轉(zhuǎn)化為光能• 例如,等離子體顯示板、薄膜光電顯示器、發(fā)光二極管(LED)– 非發(fā)射顯示器• 利用光學效應將來自其他光源的光轉(zhuǎn)換為圖形模式• 例如,液晶監(jiān)視器(LCD)26等離子體顯示板• 等離子體顯示板,也稱為氣體放電顯示器– 通常將包含氖氣的混合氣體充入兩塊玻璃板之間的區(qū)域而構(gòu)成– 圖形信息存儲在刷新緩沖區(qū)中– 在成對的水平和垂直導電帶上施加點火電壓,激發(fā)交叉點處的氣體進入發(fā)光的等離子態(tài)27等離子體顯示板28液晶顯示器• 液晶顯示器常用于小型系統(tǒng)– 通過能阻塞或傳遞光的液晶材料,傳遞來自周圍的或內(nèi)部光源的偏振光– 液晶是指化合物具有晶狀結(jié)構(gòu)的分子,并可以像液體那樣流動– 將電壓置于兩交叉導體,改變液晶分子的排列方向來允許/阻擋光線通過29液晶顯示器30顯示設(shè)備• 縱橫比或高寬比– 4:3 (1.33:1)– 16:9 (1.77:1)– 寬銀幕電影:1.85:1或2.39:1• 分辨率– VGA: 640x480– XGA: 1024x768– SXGA: 1280x1024– HDTV 720p: 1280x720– HDTV 1080p: 1920x1080– 4K: 4096x2160 or 3840x216031立體感• 為觀察者的每只眼睛給出不同的視圖來提供三維效果,從而使場景帶有深度– 偏光式、快門式32三維打印33第二章 計算機圖形系統(tǒng)2.1 圖形系統(tǒng)的組成2.2 輸出設(shè)備2.3 輸入設(shè)備2.4 成像模型2.5 渲染流水線2.6 圖形API34輸入設(shè)備• 第一階段:控制開關(guān)、穿孔紙等• 第二階段:鍵盤• 第三階段:二維定位設(shè)備,如鼠標、光筆、圖形輸入板、觸摸屏、語音等等• 第四階段:三維輸入設(shè)備(如空間球、數(shù)據(jù)手套、數(shù)據(jù)衣),用戶的手勢、表情等• 第五階段:用戶的思維35輸入設(shè)備• 二維– 鍵盤– 鼠標– 數(shù)據(jù)板– 游戲桿• 三維– 三維空間球– 激光測距儀– 數(shù)據(jù)手套– 三維掃描儀、CT、MRI– Microsoft Kinect– Leap Motion36三維空間球Microsoft Kinects(2011)• 無接觸體感交互37Leap Motion (2013)• 無接觸手勢交互38第二章 計算機圖形系統(tǒng)2.1 圖形系統(tǒng)的組成2.2 輸出設(shè)備2.3 輸入設(shè)備2.4 成像模型2.5 渲染流水線2.6 圖形API39成像模型 • 物理成像系統(tǒng) – 人類視覺系統(tǒng) – 針孔照相機 • 虛擬照相機系統(tǒng) – 成像模型 – 全局和局部光照40物理圖像 --- 圖片• 二維格式• 物理成像系統(tǒng)– 照相機– 顯微鏡– 望遠鏡– 人類視覺系統(tǒng)41計算機圖像 • 在計算機圖形學中,圖像的生成過程完全類似于照相機和人類視覺等物理成像系統(tǒng)• 來源可以是不存在 的42對象(Object)• 物理成像系統(tǒng):照相機等– 三維世界:人物、風景等• 計算機圖形學– 虛擬/人造對象:通過點、線和多邊形等幾何圖元來構(gòu)造對象43對象• 頂點(vertex):空間中的位置• OpenGL等圖形系統(tǒng)用頂點的集合來定義或逼近對象– 直線:兩個端點– 多邊形:有序的頂點列表– 球面:球心和球面上一點• AutoCAD等系統(tǒng)提供圖形化界面來方便構(gòu)造現(xiàn)實世界的虛擬模型44觀察者(Viewer)• 觀察者觀察對象,生成對象的圖像– 人:成像在視網(wǎng)膜– 照相機:成像在底片• 對象獨立于觀察者– 對同一對象,不同觀察者會看到不同的圖像– 橫看成嶺側(cè)成峰,遠近高低各不同45對象與觀察者的獨立性46(a) 觀察者A的視圖 (b) 觀察者B的視圖 (c) 觀察者C的視圖伸手不見五指47光(light)• 人(被)看到圖像,是對象發(fā)射或反射的光進入人眼• 光是電磁輻射的一種形式• 電磁波:電磁能以波的形式傳播– 波長λ或頻率f表征:f λ = c,其中c是光速– 電磁波譜包括無線電波、紅外線和可見光譜等48可見光• 可見光就是人類視覺系統(tǒng)對它有反應的那部分– 波長大約介于350 ~ 780 nm (納米, 10-8米)– 不同波長對于不同顏色:紅色 –- 650nm,藍色–- 450nm,綠色 –- 520nm49X-射線 可見光 無線電波 (nm)350  (nm) 780光源與幾何光學• 光源所發(fā)出光學的頻率可以是一組離散值或連續(xù)值– 激光:單一頻率的光– 日光燈/白熾燈:頻率范圍內(nèi)的光• 幾何光學– 光源是具有固定強度的光能發(fā)射器– 光線從光源射出,沿直線傳播,直到遇到物體• 理想點光源:從一個點向所有方向均勻發(fā)射光線50成像系統(tǒng)的三要素• 物體/對象• 觀察者(人、照相機)• 光源• 物體表面材質(zhì)的屬性確定光照射在物體上的效果• 注意對象、觀察者以及光源是完全獨立的51成像模型• 給定– 場景中的對象– 對象的光反射屬性– 光源屬性– 觀察者:人或照相機• 如何生成該場景的圖像?52跟蹤光線• 從點光源出發(fā),跟蹤所有的光線,確定哪些光線進入照相機的鏡頭• 光線在被吸收或者進入無窮空間之前,有可能與物體發(fā)生多次相互作用– 反射:鏡面– 散射– 折射:透明物體53物理成像方法• 基于跟蹤光線– 光線跟蹤(ray tracing)和光子映射(photonmapping)– 對物理世界很好的近似,可模擬任意復雜的物理效果• 基于能量守恒– 輻射度方法(radiosity):適合把入射光線均勻散射的表面54光線跟蹤原理55光線跟蹤效果56物理成像系統(tǒng)• 人類視覺系統(tǒng)(human visual system)– 遵循同樣物理原理的復雜系統(tǒng)– 三色理論• 針孔照相機(pinhole camera)– 理解照相機和其他光學成像儀器的工作原理– 圖形系統(tǒng)成像模型的基礎(chǔ)57亮度圖像與彩色圖像• 亮度圖像(luminance image)– 單色圖像– 值為灰度等級– 類似于黑白電影和電視• 彩色圖像(color image)– 可以顯示出色調(diào)(hue), 飽和度(saturation)和亮度(lightness)– 必須匹配可見光譜中的所有波長嗎?否!58人類視覺系統(tǒng)角膜cornea晶狀體 lens虹膜 iris視網(wǎng)膜retina感光細胞sensors視神經(jīng)optic nerve59感光細胞• 兩種類型的感光細胞– Rods 視桿細胞• 僅能感知亮度,不能感知顏色,夜視– Cones 視錐細胞• 感知亮度(較強光)和色彩• 三種類型的錐狀細胞• 只有三種刺激值送到大腦60強度和亮度• 強度:光線能量的物理度量• 亮度:度量我們所感知到的物體發(fā)射出的光線有多強• 人類視覺系統(tǒng)對不同波長光的響應不同– 對強度相同的紅光和綠光,感知到的亮度不同– 對綠光最敏感,對紅光和藍光最不敏感61視錐細胞的感知曲線• 人類能夠區(qū)分顏色是由于三種視錐細胞具有不同的光譜敏感度。– 全色盲、紅綠色盲62三色理論• 使用三種基色或原色(primary color) 來近似所感知到的所有顏色• 在計算機圖形學中所謂的三原色不一定與人眼所感知的三種值恰好完全匹配63彩色蔭罩式CRT顯示器的原理64加色與減色 • 加色– 通過把三原色的值加在一起形成一種顏 色• 彩色顯示器、投影儀、照片正片(positive film)– 原色為紅 (R),綠(G),藍(B)• 減色– 通過在白光中過濾掉青色(cyan), 品紅 色(magenta)和黃色(yellow)形成最終的顏色• 光線與物體的相互作用 • 彩色打印 • 照片負片(negative film)65針孔照相機 • 方形盒一個側(cè)面的中心有一個小孔,膠片放在盒子里與小孔相對的內(nèi)表面上 – 小孔非常小,僅容一條光線進入– 膠片平面與針孔距離 為d – 坐標系原點在小孔處66針孔照相機 • (x, y, z)點的投影(xp,yp,-d)xp =-d*x/zyp =-d*y/z• 視域或視角:膠片上能成完整像的最大物體所張的角度 θ=2 tan-1(h/2d)• 無窮景深:不論遠近都會清晰成像67針孔照相機的缺點• 針孔太小:單條光線– 透鏡替換小孔• 視角不能調(diào)節(jié)– 焦距可調(diào)的透鏡– 等價地,膠片平面與小孔距離可調(diào)68虛擬照相機模型投影平面 pp的投影投影中心投影線69折疊暗箱照相機虛擬照相機模型• 投影線:對象上一點到透鏡中心的連線• 投影中心(COP):透鏡中心• 投影平面:移至透鏡前的虛擬成像平面• 對象上一點的像位于投影線與投影平面的交點70裁剪窗口• 圖像大小是有限的– 場景中位于視角/視域體中對象在膠片上成像• 在投影平面內(nèi)設(shè)置一個裁剪矩形(clipping rectangle)或裁剪窗口(clipping window)• 給定投影中心的位置、投影平面的位置和方向,還有裁剪窗口的大小,我們就能確定哪些對象會在圖像中出現(xiàn)。71優(yōu)勢• 把對象、觀察者和光源區(qū)分開• 二維圖形是三維圖形的一個特殊情形• 可以得到簡單的軟件API (Applicationprogramming interface)– 指定對象、光源、照相機、材料屬性– 由API的實現(xiàn)確定最終的圖像• 可以得到快速的硬件實現(xiàn)• 主流API,如OpenGL和Direct3D都是基于該模型72全局光照 • 不能對每個對象獨立地計算它的顏色和陰影 – 有些對象被其它對象遮住了光源– 光可以在對象之間反射– 有些對象是透明的73全局與局部光照• 全局光照模型– 光線跟蹤、光子映射– 輻射度方法– 目標:照片真實感圖形渲染• 局部光照模型– Phong光照模型– 目標:交互式或?qū)崟r圖形渲染74光線跟蹤方法的不足• 光線跟蹤在很上大程度上是基于物理模型的,但為何不應用它設(shè)計一個圖形系統(tǒng)?• 對于由多邊形和二次曲面構(gòu)成的對象,應用點光源時,它確實非常簡單• 原則上它可以得到全局光照效果,例如陰影和多重反射,但是光線跟蹤速度很慢,不適用于交互系統(tǒng)的需要• 借助GPU實現(xiàn)的光線跟蹤接近于實時75第二章 計算機圖形系統(tǒng)2.1 圖形系統(tǒng)的組成2.2 輸出設(shè)備2.3 輸入設(shè)備2.4 成像模型2.5 渲染流水線2.6 圖形API76成像模型回顧• 能否模擬虛擬照相機模型設(shè)計圖形系統(tǒng)中的硬件和軟件?• 應用程序編程接口(API)– 只需指定• 對象• 材料屬性• 觀察者• 光源• 如何實現(xiàn)API?77成像模型回顧• 全局光照模型– 光線跟蹤方法– 輻射度方法– 計算量非常大,目前沒有硬件加速支持,不適合實時或交互式系統(tǒng)• 局部光照模型– Phong光照模型– 計算量適中,有硬件加速支持– 當前主流API:OpenGL, Direct3D78流水線體系• 按照應用程序定義對象的先后順序,依次處理每個對象– 只考慮局部光照• 流水線體系結(jié)構(gòu)• 所有步驟都可以通過顯示卡的硬件實現(xiàn)79頂點 頂點 像素 處理器裁剪器與圖片裝配器 光柵化器 片段處理器應用程序 顯示設(shè)備流水線(pipeline)• 工廠裝配線• 算術(shù)流水線:a+(b*c)• 圖形渲染流水線80成像過程• 四個主要步驟:– 頂點處理– 裁剪和圖元裝配– 光柵化– 片段處理81頂點處理• 圖元的類型和頂點集定義了場景的幾何– 對象由一組圖元組成,而每個圖元又包含一組頂點• 流水線中大部分工作是把對象在一個坐標系中表示轉(zhuǎn)化為另一坐標系中的表示:– 世界坐標系– 照相機(眼睛)坐標系– 屏幕坐標系• 坐標的每個變換相當于一次矩陣乘法• 

頂點處理器也計算頂點的顏色82頂點 頂點 像素 處理器裁剪器與圖元裝配器 光柵化器 片段處理器投影• 把三維觀察者位置與三維對象結(jié)合在一起,確定二維圖像的構(gòu)成– 透視投影:所有投影線交于投影中心– 平行投影:投影線平行,投影中心在無窮遠,用投影方向表示• 在頂點處理步中,對各個頂點的處理是相互獨立的頂點 頂點 像素 處理器裁剪器與圖元裝配器 光柵化器 片段處理器83圖元裝配•

 在進行裁剪和光柵化處理之前,頂點必須組裝成幾何對象– 線段– 多邊形– 曲線和曲面84頂點 頂點 像素 處理器裁剪器與圖元裝配器 光柵化器 片段處理器裁剪• 真正的照相機不能“看到”整個世界,圖形學中的虛擬照相機也只能看到世界的一部分– 不在視景體中的對象要從場景中裁剪掉• 裁剪必須針對逐個圖元進行85光柵化• 如果一個對象不被裁掉,那么在幀緩沖區(qū)中相應的像素就必須被賦予顏色• 

光柵化程序為每個圖元生成一組片段• 片段是“潛在的像素”– 在幀緩沖區(qū)中有一個位置– 具有顏色和深度屬性• 光柵化程序在對象上對頂點的屬性進行插值得到片段的屬性86頂點 頂點 像素 處理器裁剪器與圖元裝配器 光柵化器 片段處理器片段處理• 對片段進行處理,以確定幀緩沖區(qū)中相應像素的顏色

• 顏色可以由紋理映射確定,也可以由頂點顏色插值得到• 片段可能被離照相機更近的其它片段擋住– 隱藏面消除87頂點 頂點 像素 處理器裁剪器與圖元裝配器 光柵化器 片段處理器固定功能流水線88可編程流水線89第二章 計算機圖形系統(tǒng)2.1 圖形系統(tǒng)的組成2.2 輸出設(shè)備2.3 輸入設(shè)備2.4 成像模型2.5 渲染流水線2.6 圖形API90編程接口• 應用程序設(shè)計人員是通過軟件接口訪問圖形系統(tǒng),這個接口就是應用編程接口(API)91應用程序圖形庫(API)驅(qū)動程序鍵盤鼠標顯示設(shè)備筆式繪圖儀模型• 二維模型• PostScript的設(shè)計基礎(chǔ)• 基本函數(shù):– moveto(x,y):移位– lineto(x,y):畫線– 初始化/終止– 改變畫筆顏色或線寬92例子• 程序片段:moveto(0,0)lineto(1,0)lineto(1,1)lineto(0,1)lineto(0,0)93基于光柵的二維系統(tǒng)• 基于光柵:把像素直接寫到幀緩存中• 單個函數(shù)write_pixel(x, y, color)– (x,y)是幀緩存中像素的位置– color是該位置像素的顏色94三維API的構(gòu)成• 函數(shù):定義生成一幅圖像所需要的內(nèi)容– 對象– 觀察者– 光源– 材料屬性• 其它信息– 從鼠標和鍵盤等設(shè)備獲取輸入– 系統(tǒng)的能力95對象的定義• 絕大多數(shù)API支持有限的基本幾何對象,例如:– 點 points(零維對象)– 線段 line segments(一維對象)– 多邊形 polygons(二維對象)– 某些曲線和曲面• 二次曲面 quadrics• 多項式參數(shù)曲面• 所有基本形狀都是通過空間中的位置或頂點(vertices)定義的。96例子glBegin(GL_POLYGON)glVertex3f(0.0, 0.0, 0.0);glVertex3f(0.0, 1.0, 0.0);glVertex3f(0.0, 0.0, 1.0);glEnd( );對象類型頂點位置對象定義結(jié)束97照相機的指定 • 六個自由度 – 鏡頭中心的位置,即投影中心(COP)– 方向• 鏡頭、焦距 • 膠卷尺寸 • 膠卷平面的方向98光源與材料• 光源類型– 點光源與分布式光源– 聚光燈– 遠光源與近光源– 光源的顏色屬性• 材料屬性– 吸收性:顏色屬性– 反射性:漫反射、鏡面99建模-渲染模式• 建模器:交互式地設(shè)計并擺放對象– 工作站– 基于虛擬照相機模型進行實時渲染的建模軟件• 渲染器:生成高質(zhì)量的圖像– 渲染農(nóng)場:計算集群– RenderMan、POV-Ray:基于光線跟蹤• 接口文件:描述要渲染的對象以及光源、相機和材料屬性等信息的(文本)文件100本章小結(jié)• 計算機圖形系統(tǒng)的組成• 虛擬照相機模型• 圖形處理流水線體系結(jié)構(gòu)• 圖形API的構(gòu)成101

郵箱
huangbenjincv@163.com

三都| 长治县| 泾源县| 吉林省| 巴塘县| 遂平县| 洞口县| 珠海市| 海南省| 台北市| 南开区| 鄯善县| 县级市| 新丰县| 遂川县| 汝州市| 江陵县| 乐安县| 建湖县| 稷山县| 南投市| 安岳县| 河池市| 峡江县| 文安县| 乐都县| 重庆市| 丹棱县| 桃源县| 林口县| 孝义市| 克拉玛依市| 务川| 荆州市| 财经| 富民县| 尉氏县| 永善县| 修水县| 大名县| 宜都市|