<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

一種包絡面的GPU渲染方法

2022-09-13

包絡面的概念最早出現在惠更斯原理中:在波的傳播過程中, 總可以找到同位相各點的幾何位置, 這些點的軌跡是一個等位相面, 稱為包絡面。隨著地學、電磁學等應用學科的發展需求, 使用微分幾何求解的方式來繪制包絡面這一方式已經無法滿足實時3D動畫的渲染需要。研究新的繪制方法具有重要的意義。本文以一種條帶剖分為算法基礎, 配合高性能圖形芯片GPU渲染技術實現包絡曲面的3D動畫繪制。

1 包絡面的微分幾何描述

包絡面是一種微分曲面, 深入理解其數學定義對設計渲染方法具有重要意義。

【定義】:設r= (x, y, z) 表示三維歐氏空間E3中點的位置向量, D是二維平面的一個區域, 映射:

的像為S。它滿足條件如下。

(1) r (u, υ) 是Ck階的, 即函數x (u, v) , y (u, v) , z (u, v) 具有直到k階的連續偏導數。

(2) r (u, υ) 是正則的, 那么S稱為E3的Ck曲面片, C∞曲面片也稱為光滑曲面片。

其中 (1) 式稱為曲面的參數方程。由于光柵上發光點的離散陣列特征, 使用 (1) 式可以精確的求得像素信息。因此, 對于畫質要求很高的3DCG來說, 微分幾何求解是可行的方法。而對于3D動畫來說, 滿足 (2) 式是不可能的, 因為三角剖分是平面逼近曲面的方法, 這與曲面片要求光滑相矛盾, 而且計算開銷太大1。

2 包絡面的三角剖分描述

三角剖分是代數拓撲學里最基本的研究方法。以曲面為例, 把曲面剖開成一塊塊碎片, 要求滿足下面條件。

(1) 每塊碎片都是曲邊三角形。

(2) 曲面上任何兩個這樣的曲邊三角形, 要么不相交, 要么恰相交于一條公共邊。

緯線對于包絡面來說具有著特殊的意義, 因為緯線往往代表著高程, 即等值線2。在此類情況下, 包絡面轉換為條帶分割。本文以一種基于條帶分割的蜘蛛網三角剖分為例。蜘蛛網 (圖1) 按極坐標圓心角展開完畢后投影到二維平面上, 條帶的橫坐標單位是度, 值域是[0°, 360°], 縱坐標是高程等值線 (圖2) 。

3 包絡面的GPU渲染

GPU所擁有超長的流水線使它能夠實時生成逼真3D圖形。在GPU渲染流水線的不同階段, 需要處理的對象分別是頂點、幾何圖元、片元、像素。使用GPU實現包絡面的繪制需要經過CPU的三角形拓撲邏輯計算階段和GPU的流水線處理階段?;谥┲刖W算法的包絡面通過GPU實現的渲染過程包含幾個重要階段: (1) 頂點生成:在GPU中每個頂點的三維坐標以及位置、顏色、標準向量等信息。 (2) 頂點處理:可以通過vertex shader的并行程序設計完成, 通過計算把三維頂點坐標映射到二維屏幕, 計算各頂點的亮度值等。 (3) 圖元生成:根據頂點拓撲邏輯, 把上階段輸出的頂點組織成有序的圖元流。 (4) 圖元處理:可以通過geometry shader的并行程序設計完成。最后, 還有片元生成、片元處理、像素操作這3個顯示功能階段。

經過以上步驟的處理, 3D實時渲染完成。截取其中的一幀, 其渲染效果如圖3所示。

4 結語

在構架硬件環境時, CPU選擇了AMD, GPU選擇了NVIDIAGeForce 9500GT環境, 主存1.5M。在搭建軟件環境時, OS選擇了WinXP, 編譯器選擇了Visual C++2008配合NVIDIA CUDA2.3、MS DirectX9c插件, 結果表明:基于蜘蛛網三角剖分算法的空間幾何結構正確, 渲染效率比傳統CPU繪制方法更高。渲染效果逼真。該方法既發揮了G P U的性能, 又充分滿足了G P U與C P U協同工作的要求。

摘要:包絡面的渲染繪制是計算機圖形學的重要應用技術。包絡面的繪制方法的數學基礎是微分幾何與拓撲學的三角剖分理論。本文從這兩個角度分別分析了建模方法與渲染效果之間的關系, 并以一種條帶剖分算法為幾何基礎, 實現了GPU渲染包絡面的3D動畫。

關鍵詞:包絡面,蜘蛛網,GPU,渲染

參考文獻

[1] 基于邊優先的任意多邊形最優三角剖分[J].測繪科學, 2008 (1) .

[2] 張順謙.基于Delaunay三角網的區域等值線繪制關鍵算法[J].四川氣象, 2005.

本文來自 99學術網(www.gaojutz.com),轉載請保留網址和出處

上一篇:讓語文作業“洗心革面”下一篇:道德需求——當代大學生思想道德建設的心理基點

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火