作者NDark (溺於黑暗)
看板GameDesign
标题Re: [程式] DX11的Tassellation原理是什麽?
时间Thu Oct 1 14:08:00 2009
※ 引述《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
1F:推 FlyinDeath:原来如此,但这样rasterization stage不会变得很慢吗? 10/01 14:35
3F:推 Bencrie:polygon变多只是让model变得更细致,vertex处理量变大 10/01 15:37
4F:→ Bencrie:polygon filling的时候要处理的pixel应该不会多太多。 10/01 15:38
5F:推 FlyinDeath:我的问题就是在这边,vertex处理量变成数十倍,应该也 10/01 16:04
6F:→ FlyinDeath:会变成瓶颈,对整体效能不会影响很大吗? 10/01 16:05
7F:推 Bencrie:vertex处理的速度远比pixel的速度快得多,通常效能都卡在 10/01 16:10
8F:→ Bencrie:过多的pixel处理 orz 10/01 16:11
9F:→ Bencrie:看那精美的 splatting ... 因为blending的关系,pixel量多 10/01 16:12
10F:→ Bencrie:到fps只剩个位数以下。 10/01 16:13
11F:推 FlyinDeath:原来如此!! 这样我的疑问真的都解决了 ^^ 10/01 16:55
12F:→ Splash5:vertex再怎麽多也不会比pixel多吧 :p 10/01 21:25
13F:推 darkflier:楼上观念有问题......这并不是一定的-_- 10/01 21:34
※ 编辑: NDark 来自: 61.230.196.142 (10/01 21:56)
14F:→ Splash5:正常情况下很少会有vertex比pixel多吧.. 当然要特意作出 10/02 00:19
15F:→ Splash5:特例的物件那当然有可能 可以用100万个vertex去建一个cube 10/02 00:20
16F:→ Splash5:但是一般情况不会这样作吧 10/02 00:21
17F:→ reizarc:不 你要考虑远处物体投影後的结果 10/04 16:23
18F:→ reizarc:vertex 和 pixel loading 不一定谁重 10/04 16:23
19F:→ reizarc:这也是 unified shader 的初衷 10/04 16:24
20F:推 darkflier:印象中DX11又多了两个stage去对vertex作处理 10/04 21:49
21F:→ darkflier:因为vetex跟pixel之间的关系越是一比一就越精细 10/04 21:51
22F:→ darkflier:有空写个读模型资料 再用cpu算一次animation的过程 10/04 21:52
23F:→ darkflier:shader观念就会变得更好 10/04 21:53
24F:推 Bencrie:我觉得刻一个software renderer对shader的认识很有帮助 10/04 23:36
25F:→ Splash5:其实还有很多东西要考虑.. 只是说要讨论这样的问题 10/05 01:07
26F:→ Splash5:要先说清楚是在什麽样的环境下 有些东西才能回答 10/05 01:08