原文:Directx11教程(61) tessellation学习(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是一样的。

 

Directx11教程(61) tessellation学习(3)的更多相关文章

  1. Directx11教程(64) tessellation学习(6)-PN Triangles

    原文:Directx11教程(64) tessellation学习(6)-PN Triangles       前面我们用tessellation细分三角形或者四边形,产生的细分点都是在三角形或四边形 ...

  2. Directx11教程(63) tessellation学习(5)

    原文:Directx11教程(63) tessellation学习(5)        TS中生成细分后顶点的u,v,{w}坐标,我们根据控制点和u,w,{w}坐标生成新的顶点位置,在前面四边形的细分 ...

  3. Directx11教程(62) tessellation学习(4)

    原文:Directx11教程(62) tessellation学习(4)       现在看看四边形在不同tess factor时,四边形细分的细节,下图是tess factor1-8时候的细分.te ...

  4. Directx11教程(60) tessellation学习(2)

    原文:Directx11教程(60) tessellation学习(2)        本教程中,我们开始tessellation编程,共实现了2个程序,第一个tessellation程序,是对一个三 ...

  5. Directx11教程(59) tessellation学习(1)

    原文:Directx11教程(59) tessellation学习(1)       在D3D11管线中,新增加了3个stage, Hull shader, Tessellator, Domain s ...

  6. Directx11教程(16) D3D11管线(5)

    原文:Directx11教程(16) D3D11管线(5) 本章我们学习VS中具体做些什么事情? 首先再看看我们的VS shader代码: Clolor.vs - PixelInputType Col ...

  7. Directx11教程(15) D3D11管线(4)

    原文:Directx11教程(15) D3D11管线(4) 本章我们首先了解一下D3D11中的逻辑管线,认识一下管线中每个stage的含义. 参考资料:http://fgiesen.wordpress ...

  8. Directx11教程(66) D3D11屏幕文本输出(1)

    原文:Directx11教程(66) D3D11屏幕文本输出(1)      在D3D10中,通过ID3DX10Font接口对象,我们可以方便的在屏幕上输出文字信息,一个DrawText函数就能解决所 ...

  9. Directx11教程(56) 建立一个skydome

    原文:Directx11教程(56) 建立一个skydome       本章建立一个skydome(天空穹),主要学习如何使用cube mapping.      cube map就是把六张纹理当作 ...

随机推荐

  1. git简单使用命令

    每次都会忘记git使用命令 在本上做了笔记,网上也备份一份吧 这个是删除步骤: 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件  $ g ...

  2. 使用jstl el表达式对form表单的功能进行区分 比如新建和修改共用一个form

    新建一个专栏,修改这个专栏信息 完全可以做在一个jsp的一个form中 但是,需要注意的是,使用mvc的对象属性自动封装的话 如果id为空,将会报错,无法进入controller中的 所以要在页面上判 ...

  3. 进一步封装poco下的mysql操作

    为方便程序对mysql操作,我对poco的mysql进行了再次封装,主要是针对自己应用需要的部分. 开发工具:netbean 系统环境:centos7 poco版本: poco-1.9.0-all 主 ...

  4. GUID 使用方法

    GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...

  5. (精简)Spring框架的IoC(替代工厂类实现方法)和AOP(定义规则,约定大于配置)

    Spring的核心框架主要包含两个技术,分别用来处理工厂类,以及事务处理和连接管理的. 两大核心概念 1)  IoC:控制反转,在现在的开发中,如果想建立对象并设置属性,是需要先new对象,再通过se ...

  6. CSP-S 2019 Day 2 T3 树的重心

    CSP-S 2019 Day 2 T3 树的重心 题 给出了一个大小为\(n\)的树,树中结点从 1∼n 编号.小简单的课后作业是求出这棵树单独删去每条边后,分裂出的两个子树的重心编号和之和. \(n ...

  7. 【vuex】vue2-happyfri

    我发现我对使用vuex并不擅长,现在跟我一起多多研究项目,好好补补vuex吧 这个开源项目地址为:https://github.com/bailicangdu/vue2-happyfri 这是一个答题 ...

  8. Effective Modern C++ 条款3:理解decltype

    说起decltype,这是个古灵精怪的东西.对于给定的名字或表达式,decltype能告诉你该名字或表达式的型别.一般来说,它告诉你的结果和你预测的是一样的.不过,偶尔它也会给出某个结果,让你抓耳挠腮 ...

  9. java并发系列(四)-----源码角度彻底理解ReentrantLock(重入锁)

    1.前言 ReentrantLock可以有公平锁和非公平锁的不同实现,只要在构造它的时候传入不同的布尔值,继续跟进下源码我们就能发现,关键在于实例化内部变量sync的方式不同,如下所示: /** * ...

  10. jeecms 强大的采集功能优化 转载 https://blog.csdn.net/jeff06143132/article/details/7099003

    ========================================================= 没办法附件上传不了,AcquisitionSvcImpl.java类: //---- ...