博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Directx11教程(61) tessellation学习(3)
阅读量:6503 次
发布时间:2019-06-24

本文共 1195 字,大约阅读时间需要 3 分钟。

      现在我们看看在不同tess factor的情况下,三角形是如何细分的?(这儿三条边和内部tess factor值是一样的,而且partitioning("integer"))

下面8张图是三角形在tess factor 1到8的情况下的细分细节:

 

     因为TS阶段是硬件自己做的,没有算法细节,所以我们只能从这些图中,来猜一猜不同tess factor情况下的规律。

     可以看出在奇数的情况下,1, 3, 5, 7,…, 三角形包括(N+1)/2个环形的的三角形,而中心是一个三角形。在偶数的情况下,三角形内部包括N/2个环形的三角形,但中心是一个点,而不是一个三角形。三角形的边在tess factor 1-8的情况,分别被分为1-8段,对于内部的环形三角形,从外到内,每进一个层次,边分段数是是上一个边分段数减2,比如tess factor = 5,有三个环形三角形,最外边的边分段是5,中间的一个是3,最里面的是1。

     在tess factor 1-8的情况下,细分的三角形个数为:1, 6, 13, 24, 37, 54, 73, 96, 121, 150,有规律吗?

奇数tess factor:1, 13,   37, 73, 121, => 12, 24, 36,48,…(6*2, 6*4, 6*6, 6*8…)

偶数tess factor:6, 24, 54, 96, 150, => 18, 30, 42, 54, … (6*3, 6*5, 6*7, 6*9…)

      每条边以及内部 tess factor也可以不一样,比如三条边的细分因子是2、3、4,内部细分因子是3,则三角形的细分如下图所示:

      从directx11 sdk上可以查到,Partitioning因子可以有四种,我们例子中用的是Integer,下面我们看看其它三种情况下,三角形的细分有什么变化。

    fractional_odd表示tess factor是奇数,范围1..63, 此时细分效果和Integer是一样的,如果此时tess factor为偶数,则细分的效果很古怪。下面的就是fractional_odd的情况下,tess factor 1-8的戏份效果,偶数的细分并不均匀。

     fractional_even表示tess factor是偶数,范围是2-64,如果此时tess factor为1,则和2的结果是一样的,如果此时tess factor为奇数,则细分效果不均匀,下面的图是tess factor在1-8的情况下的细分效果:

 

     pow2看字面意思,应该是2的幂次tess factor才有效,但是在我的卡(HD5760)上,细分效果和Integer是一样的。

 

转载于:https://www.cnblogs.com/mikewolf2002/archive/2012/08/13/2635666.html

你可能感兴趣的文章
Active Direcyory之证书颁发机构(CA服务器)升级
查看>>
动态规划解决矩阵连乘问题
查看>>
SharePoint 2007(MOSS) ,WSS ,Project Server 2007 灾难恢复
查看>>
老调重弹:年龄大了,码农何去何从 (长篇技术文学巨著)
查看>>
RHEL6.4 apache搭建WEB网站,安装日志分析工具awstats
查看>>
vue插件
查看>>
Dell EMC unity500使用iSCSI连接Esxi6.7
查看>>
时也,运也,命也
查看>>
javascript的offsetLeft、scrollLeft、offsetTop、scro...
查看>>
day06-基础语法了解
查看>>
PHP单态设计模式应用实例
查看>>
ORACEL学习--分析函数汇总
查看>>
windows Server 2016 网络服务 (一)
查看>>
vs打包winform应用程序
查看>>
《摔跤吧,爸爸》观后感
查看>>
干货:用技术分析致敬老牌开源社群系统—ThinkSNS
查看>>
jq表单
查看>>
在不发生滚动情况下参考目标不同而获取光标位置
查看>>
做完和做好不一样
查看>>
CheckStyle安装与使用
查看>>