OpenGL超级宝典(第7版)之第八章基元处理

本文深入探讨了OpenGL的曲面细分过程,包括曲面细分基元模式、子分段模式以及数据传递,并通过地形渲染和三次贝塞尔面片的示例进行说明。同时,详细阐述了几何着色器的使用,如删除和修改几何体,生成新基元类型,以及多次视口转换的应用。
摘要由CSDN通过智能技术生成

一、曲面细分

将一个三角形(或四边形等),网格化生成更多的内部三角形

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:逆时针<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值