基元处理
一、曲面细分
将一个三角形(或四边形等),网格化生成更多的内部三角形
1.曲面细分基元模式
gl_TessLevelInner[]:图形内部
gl_TessLevelOuter[]:图形外部
(1)使用四视图的曲面细分
四视图:四边形
gl_TessLevelInner[]:长度为2,图形内部,分别控制长、宽分成的段数
gl_TessLevelOuter[]:长度为4,图形外部,分别控制四边分成的段数
(2)使用三角形的曲面细分
gl_TessLevelInner[]:长度为1
gl_TessLevelOuter[]:长度为4
(3)使用等值线的曲面细分
gl_TessLevelOuter[]:只有这个,长度为2,分别控制线的数量和线分成的段数
(4)曲面细分点模式
以点的方式渲染
2.曲面细分子分段模式
(1)曲面细分三种子分段模式:
equal_spacing:分段式等间距模式,缺点:曲面细分因子向上舍入到最接近的整数,级别有可能会发生跳变,下面两个就是解决这个问题的
fractional_even_spacing:分段式偶数间距模式,曲面细分因子向下舍入到最接近的偶数
fractional_odd_spacing::分段式奇数间距模式,曲面细分因子向下舍入到最接近的奇数
(2)控制环绕顺序
cw:顺时针
ccw:逆时针<