《現(xiàn)代計算機圖形學基礎》課件 chap2-基礎知識_第1頁
《現(xiàn)代計算機圖形學基礎》課件 chap2-基礎知識_第2頁
《現(xiàn)代計算機圖形學基礎》課件 chap2-基礎知識_第3頁
《現(xiàn)代計算機圖形學基礎》課件 chap2-基礎知識_第4頁
《現(xiàn)代計算機圖形學基礎》課件 chap2-基礎知識_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

計算機圖形學第二章基礎知識供《現(xiàn)代計算機圖形學基礎》配套使用1提綱從圖形到屏幕圖像幾何變換光柵化可微繪制圖形硬件及GPU并行處理21.1圖形與圖像圖形(Graph)由點、線、面等基本幾何元素作為“圖元”構(gòu)成,通過建模、測量等方式獲取。圖像(Image)由像素構(gòu)成,通過照相、掃描等方式獲取3二維圖形二維圖像三維圖形1.1圖形與圖像二維和三維圖形需要通過光柵化轉(zhuǎn)化為圖像進行屏幕顯示直線、圓:Bresenham算法面:掃描線算法(Scan-linerasterization)41.2計算機圖形學系統(tǒng)圖形流水線5計算機圖形學系統(tǒng)三維模型二維圖像視圖變換投影變換光柵化1.2計算機圖形學系統(tǒng)圖形流水線61.2計算機圖形學系統(tǒng)圖形流水線7幾何模型、相機、光照幾何變換光柵化提綱從圖形到屏幕圖像幾何變換光柵化可微繪制圖形硬件及GPU并行處理8計算機圖形學系統(tǒng)中的幾何變換92.1模型變換模型局部坐標系

世界坐標系通過平移、旋轉(zhuǎn)、縮放等幾何變換將局部坐標變換為世界坐標。102.1模型變換平移將點沿指定方向移動距離:d。112.1模型變換旋轉(zhuǎn)保持至少一個點不變的剛體運動歐拉角:(x軸)、(y軸)、(z軸)122.1模型變換旋轉(zhuǎn)保持至少一個點不變的剛體運動四元數(shù)132.1模型變換縮放按照一定的比例放大或者縮小一個物體。142.1模型變換錯切保持軸上的點不動,其它點沿平行于此軸方向移動變形的變換。錯切變換也稱為剪切、錯位或錯移變換。152.2視點變換世界坐標系眼睛坐標系通過平移、旋轉(zhuǎn)等幾何變換將世界坐標變換為眼睛坐標。16世界坐標系眼睛坐標系2.2視點變換世界坐標系眼睛坐標系17三維仿射變換已知眼睛位置為(ex,ey,ez)world眼睛坐標系三個主軸方向

(v,u,n)逆變換2.2視點變換世界坐標系眼睛坐標系將世界坐標系原點(0,0,0)world映射為眼睛位置(ex,ey,ez)world18矩陣M的最后一個列向量

(d,h,l)T即為眼睛在世界坐標系位置!2.2視點變換世界坐標系眼睛坐標系將眼睛坐標系下的主軸映射為世界坐標系下的主軸19矩陣M的第一個列向量(a,e,i)T

是向量u的基底2.2視點變換世界坐標系眼睛坐標系將眼睛坐標系下的主軸映射為世界坐標系下的主軸202.2視點變換世界坐標系眼睛坐標系計算逆映射212.3投影變換眼睛坐標系圖像坐標系將眼睛坐標系中的物體模型投影到成像平面,形成二維圖像。22正視投影透視投影2.3投影變換眼睛坐標系圖像坐標系投影:從投影中心發(fā)出的直線,穿過物體的每一個點,然后與投影面相交形成映像投影中心(COP)投影平面(Projectionplane)投影線(Projectors)232.3投影變換眼睛坐標系圖像坐標系透視投影:投影中心到圖像平面的距離是有限的單點透視兩點透視三點透視24投影線投影面投影中心單點透視兩點透視三點透視2.3投影變換眼睛坐標系圖像坐標系透視投影:簡單模型(x,y,z)沿著投影線投影為點(xp,yp,zp),所有的投影線都經(jīng)過原點25三維視圖前視圖側(cè)視圖2.3投影變換眼睛坐標系圖像坐標系透視投影:一般模型262.3投影變換眼睛坐標系圖像坐標系正視投影:投影中心到圖像平面的距離是無窮遠投影中心是在無窮遠處投影線是平行的三維平行線映射為二維平行線272.3投影變換眼睛坐標系圖像坐標系正視投影z=0282.3投影變換眼睛坐標系圖像坐標系透視投影

視覺效果與人類視覺系統(tǒng)相似“透視縮短”物體的大小與投影中心的距離成反比平行于投影面的面的角度保持不變正視投影因為沒有透視,不現(xiàn)實的視圖只有平行于投影面的角度保持不變29提綱從圖形到屏幕圖像幾何變換光柵化可微繪制圖形硬件及GPU并行處理303.1概念定義:將幾何圖元轉(zhuǎn)換成一個光柵圖像(像素或點)在屏幕上輸出的過程,實現(xiàn)圖形變?yōu)槎S圖像畫線剔除填充可見性判斷

313.2畫線

目標屏幕上畫出線段,并丟棄不在窗口中顯示的圖元片段類型DDA算法Bresenham算法梁友棟-Barsky算法…32DDA算法Bresenham算法梁友棟-Barsky算法3.2畫線

梁友棟-Barsky算法是第一個以中國人名字命名的計算機圖形學算法!33梁友棟-Barsky算法3.3剔除

目標丟棄不需要繪制的幾何圖形以加速渲染類型視域剔除遮蔽篩選小物體剔除背面剔除簡并剔除343.3剔除3.3.1視域剔除視域以外的形狀都是在屏幕之外只處理位于視域之內(nèi)的圖形的光柵化35Demo3.3剔除3.3.1視域剔除方法:包圍盒,即平行于物體空間坐標平面且包圍整個物體的最小框。363.3剔除3.3.2遮蔽篩選明顯隱藏在后面的幾何形狀不可見。373.3剔除3.3.3小物體剔除小于特定尺寸的物體被剔除剔除那些屏幕空間中包圍盒比一個像素閾值數(shù)小的物體。383.3剔除3.3.4背面剔除形狀是單面的,即只有從“前面”才可見如果三角形的“背”面對相機,則它是不可見的,通過不繪制它來提高繪制效率在一個場景中大約50%的三角形是背面的背面剔除時,所有背向我們的三角形都不可見。通常是設定三角形的頂點遞增方向為逆時針方向即為可見,反之,不可見。393.3剔除3.3.5簡并剔除退化三角形面積為0,不需要繪制頂點位于直線上頂點在同一個地方法向量n=0403.4填充在屏幕上繪制形狀,并確定要填充的像素圖形轉(zhuǎn)換成圖像的關鍵步驟,決定圖形在屏幕上的顯示413.4填充在屏幕上繪制形狀,并確定要填充的像素首先柵格化邊緣像素,然后填充從一個邊緣到另一個邊緣中間橫跨的像素分層填充……423.5可見性判斷對于圖形填充每一個像素點,確定是否存在物體之間遮擋及其可見性433.5可見性判斷算法畫家算法每一個新的像素點相對于幀緩沖區(qū)的之前的像素點總是要繪制需要根據(jù)深度對像素點進行幾何排序如果三角形存在相交的情況,可能需要分割三角形44過時的!3.5可見性判斷算法Z-buffer算法對每一個像素點存儲其z值比較新的z值和已存儲的z值如果新的z值更小則更新像素的z值453.6其它因素紋理透明度霧……46提綱從圖形到屏幕圖像幾何變換光柵化可微繪制圖形硬件及GPU并行處理474.1概念可微繪制是一種端到端、借助可微分梯度優(yōu)化將圖形輸出為圖像的繪制過程。48可微繪制框架光柵化繪制框架4.1概念微分求導:f關于G、E、A的偏導數(shù)49屏幕像素對外觀的偏導數(shù)(用戶定義)外觀對圖元頂點的偏導數(shù)(用戶定義)屏幕坐標對眼睛參數(shù)的偏導數(shù)(可導)像素顏色對屏幕坐標的偏導數(shù)(不可導)4.2繪制流水線OpenDR(OpenDifferentiableRenderer)德國MPI研究所開發(fā)的可微渲染系統(tǒng)。504.2繪制流水線OpenDR(OpenDifferentiableRenderer)德國MPI研究所開發(fā)的可微渲染系統(tǒng)。51參考圖片(Groundtruth)初始場景參數(shù)(幾何、材質(zhì)、…)

f

根據(jù)當前場景渲染一張圖像與Groundtruth對比計算loss反向傳播優(yōu)化場景參數(shù)不斷執(zhí)行①~③4.2繪制流水線OpenDR(OpenDifferentiableRenderer)通過對流水線中不可微函數(shù)的近似求導,實現(xiàn)微分運算。52圖像差分算子近似計算邊界像素水平方向差分內(nèi)部像素水平方向差分算子算子4.2繪制流水線OpenDR(OpenDifferentiableRenderer)53Groundtruth初始loss最終loss繪制結(jié)果4.2繪制流水線Mitsuba瑞士EPFL的RealisticGraphics實驗室開發(fā)的渲染系統(tǒng)。544.2繪制流水線Mitsuba55場景描述參數(shù)繪制圖像目標函數(shù)值(損失)繪制過程可微的目標函數(shù)4.2繪制流水線Mitsuba56Groundtruth初始迭代優(yōu)化結(jié)果提綱從圖形到屏幕圖像幾何變換光柵化可微繪制圖形硬件及GPU并行處理575.1圖形硬件CPU時代:20世紀90年代前,圖形流水線完全基于CPU執(zhí)行585.1圖形硬件CPU時代:20世紀90年代早期,視頻卡(videocard)用于加速少數(shù)圖形流水線步驟59線繪制多邊形繪制三角形填充光柵化……視頻卡5.1圖形硬件CPU+顯卡時代:1996年,3Dfx推出Voodoo顯卡,支持3D圖形的繪制60Voodoo5.1圖形硬件CPU+顯卡時代:1999年,NVIDIA推出GeForce256顯卡,首次提出GPU的概念61GeForce2562013年,GeForceTITAN5.2GPU并行處理GraphicsProcessingUnit(GPU)圖形處理器,由數(shù)以千計的更小、更高效的核心(專為同時處理多重任務而設計)組成的大規(guī)模并行計算架構(gòu)62CPUGPU多核心成千上萬核心5.2GPU并行處理GraphicsProcessingUnit(GPU)以大量線程實現(xiàn)面向吞吐量的數(shù)據(jù)并行計算63IntelXeonE5-2670NVIDIATeslaK40始終頻率2.6GHz745MHz周期指令數(shù)4instructionspercycleSingleinstruction核數(shù)CPU:16cores2880CUDAcores數(shù)值計算166.4Gigaflopsdoubleprecision1.66Teraflopsdoubleprecision5.2GPU并行處理利用GPU可以顯著加快科學、分析、工程、消費和企業(yè)應用程序的運行速度通過將應用程序計算密集部分的工作負載轉(zhuǎn)移到GPU,同時仍由CPU運行其余程序代碼。從用戶的角度來看,應用程序的運行速度明顯加快。64ApplicationCodeGPUCPUUseGPUtoParallelizeCompute-IntensiveFunctionsRestofSequentialCPUCode+5.2GPU并行處理GPU編程65C OpenACC,CUDAC++ Thrust,CUDAC++Fortran OpenACC,CUDAFortranPython PyCUDANumericalanalytics MATLAB,MathematicaMachineLearningTheano,Tensorflow,Caffe,Torch,etc.5.3GPU圖形處理利用GPU提高圖形流水線上對幾何及像素元素的各種操作Vertexshader:幾何元素操作Fragmentshader:片元元素操作665.3GPU圖形處理利用GPU提高圖形流水線上對幾何及像素元素的各種操作Vertexshader:幾何元素操作Fragmentshader:片元元素操作67頂點數(shù)據(jù)頂點著色器裝配圖元幾何操作光柵化像素操作緩存像素片元數(shù)據(jù)片元著色器5.3GPU圖形處理Vertexshader:幾何元素操作將表示幾何形狀的頂點作為輸入,通過組裝、光柵化等操作,輸出片段685.3GPU圖形處理Fragmentshader:像素元素操作將光柵化生成的片段作為輸入,通過顏色、深度等操作,輸出像素695.3GPU圖形處理其他著色器(O

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論