Re: [程式] DX11的Tassellation原理是什麼?

看板GameDesign (遊戲設計)作者 (溺於黑暗)時間15年前 (2009/10/01 14:08), 編輯推噓8(8018)
留言26則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《FlyinDeath (死之舞)》之銘言: : DX11裡面有個Tassellation的功能 : 看Demo的影片,似乎是能把Model的Polygon數目大量增加 : 讓Model看起來更漂亮 : 但是我有個疑問,大幅增加Polygon的數量,不會嚴重拖累GPU的處理速度嗎? : 如果只是這樣的話,應該也不需要特殊的硬體來處理吧? : 到底Tassellation的特異之處在哪裡,可以大幅增加Polygon數目而不拖累效能? : 去Google查了很多資料,但是大部分的說明都很含糊 : 譬如說什麼"DX11的Tassellation可以讓model更漂亮"之類的 : 數學的資料只說Tassellation是把平面用同一個形狀去分割 : 而Wiki上面的資料則是幾乎把Tassellation等同於Triangulation了 : 好像很難找到更詳細的資料... Patch Tesselation http://www.geeks3d.com/20080904/ patch-tesselation-demo-how-to-render-million-triangles-meshes/ "Patch Tesselation is a technique to increase in real time the number of triangles of a mesh. The principle is to use a coarse mesh at the CPU level and to add detail on-the-fly at the GPU level" 簡單來講,繪圖的頻寬是在於你傳多少資料到顯示卡. 到了顯示卡之後資料互相傳遞及運算的速度就遠快於傳進去. 因此這種用技術在顯示卡中自動產生高細節模型, 當然比傳一個高面數的模型進去來得節省時間. -- "May the Balance be with U"(願平衡與你同在) 視窗介面遊戲設計教學( http://0rz.tw/V28It ),討論,分享。歡迎來信。 視窗程式設計(Windows CLR Form)遊戲架構設計(Game Application Framework) 遊戲工具設計(Game App. Tool Design ) 電腦圖學架構及研究(Computer Graphics)論文代讀(含投影片製作) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.77.176

10/01 14:35, , 1F
原來如此,但這樣rasterization stage不會變得很慢嗎?
10/01 14:35, 1F

10/01 14:37, , 2F
10/01 14:37, 2F

10/01 15:37, , 3F
polygon變多只是讓model變得更細緻,vertex處理量變大
10/01 15:37, 3F

10/01 15:38, , 4F
polygon filling的時候要處理的pixel應該不會多太多。
10/01 15:38, 4F

10/01 16:04, , 5F
我的問題就是在這邊,vertex處理量變成數十倍,應該也
10/01 16:04, 5F

10/01 16:05, , 6F
會變成瓶頸,對整體效能不會影響很大嗎?
10/01 16:05, 6F

10/01 16:10, , 7F
vertex處理的速度遠比pixel的速度快得多,通常效能都卡在
10/01 16:10, 7F

10/01 16:11, , 8F
過多的pixel處理 orz
10/01 16:11, 8F

10/01 16:12, , 9F
看那精美的 splatting ... 因為blending的關係,pixel量多
10/01 16:12, 9F

10/01 16:13, , 10F
到fps只剩個位數以下。
10/01 16:13, 10F

10/01 16:55, , 11F
原來如此!! 這樣我的疑問真的都解決了 ^^
10/01 16:55, 11F

10/01 21:25, , 12F
vertex再怎麼多也不會比pixel多吧 :p
10/01 21:25, 12F

10/01 21:34, , 13F
樓上觀念有問題......這並不是一定的-_-
10/01 21:34, 13F
※ 編輯: NDark 來自: 61.230.196.142 (10/01 21:56)

10/02 00:19, , 14F
正常情況下很少會有vertex比pixel多吧.. 當然要特意作出
10/02 00:19, 14F

10/02 00:20, , 15F
特例的物件那當然有可能 可以用100萬個vertex去建一個cube
10/02 00:20, 15F

10/02 00:21, , 16F
但是一般情況不會這樣作吧
10/02 00:21, 16F

10/04 16:23, , 17F
不 你要考慮遠處物體投影後的結果
10/04 16:23, 17F

10/04 16:23, , 18F
vertex 和 pixel loading 不一定誰重
10/04 16:23, 18F

10/04 16:24, , 19F
這也是 unified shader 的初衷
10/04 16:24, 19F

10/04 21:49, , 20F
印象中DX11又多了兩個stage去對vertex作處理
10/04 21:49, 20F

10/04 21:51, , 21F
因為vetex跟pixel之間的關係越是一比一就越精細
10/04 21:51, 21F

10/04 21:52, , 22F
有空寫個讀模型資料 再用cpu算一次animation的過程
10/04 21:52, 22F

10/04 21:53, , 23F
shader觀念就會變得更好
10/04 21:53, 23F

10/04 23:36, , 24F
我覺得刻一個software renderer對shader的認識很有幫助
10/04 23:36, 24F

10/05 01:07, , 25F
其實還有很多東西要考慮.. 只是說要討論這樣的問題
10/05 01:07, 25F

10/05 01:08, , 26F
要先說清楚是在什麼樣的環境下 有些東西才能回答
10/05 01:08, 26F
文章代碼(AID): #1An4T4mq (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #1An4T4mq (GameDesign)