网站大量收购闲置独家精品文档,联系QQ:2885784924

图形编程指南Chapter4.pdfVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 2D 和 3D 裁剪 目录 4.1 2D 裁剪策略 4.1.1 点的裁剪 4.1.2 裁剪线段 4.1.3 裁剪多边形 4.2 3D 裁剪策略 引言 在前几章的讨论中,我们假设光栅化的图元都在屏幕的边界中。当然,通常说 来,这种假设是不可能成立的。在实际的生活中,视处理可能产生全部在屏幕边界 外或者部分在边界外的图元。在这两种情况中,一些像素的地址可能超出了分配给 位图的存储空间。为了避免这种不希望的效果,我们必须严格限制图元坐标在屏幕 的边界内。 我们也看到在透视变换中存在着另一种对坐标的约束。我们不能在屏幕空间中 变换 z 0 的点。而且,具有负 z 的对象位置在观察者的后面,因此是不可见的。为 了避免这个问题,例如被 0 除,或者对象的部分被透视变换过剪切,我们必须确保 只有有效点被变换,进入透视屏幕空间。 定位适合这种空间约束的图元部分的过程称之为裁剪。上面这两种情况中,对 前一种情况,我们必须执行 2D 或屏幕边界裁剪,对第二种情况是 3D 或体裁剪。 在这一章中我们必须考虑这两种情况,讨论可能的实现方法。 4.1 2D 裁剪策略 作为某种图元的输入描述, 裁剪算法同时也是依此执行裁剪的图元 (2D 区域或 3D 域)规范。同光栅处理一样,通常也很难找出一种适合任意形状和任意裁剪体 的策略,这主要是受到开销的约束。 对 2D 裁剪,我们可以定义三个不同的途径。第一种途径是在光栅处理阶段前 裁剪。这种方法用于处理简单图元, 比如说被矩形等简单裁剪区域约束的多边形等。 在某些情形下,尤其对复杂图元来说,在光栅处理阶段进行裁剪比较合适。在得到 像素的屏幕坐标后,首先要检查它是否在合适的边界内,只有在这种情况下才进行 标绘像素的处理。当裁剪区域几何结构比较复杂的时候,选择的策略可能是在一些 较大的缓冲区里光栅化图元, 然后只从缓冲区里选择在该复杂裁剪区域内部的像素。 (参见图4.1 ) 2 Clipping area. Rasterized. Rasterized Rasterized. and clipped. Clipping during Preclipping. Postclipping. rasterization. 图 4.1: 不同的裁剪类型 通常,对开销的考虑确定了应用哪种裁剪策略。第一种策略在分析寻找和描述 裁剪区域内部图元中耗费的开销不太大的时候工作得很好。当开销相对大一些的时 候,比如说寻找和分析描述圆和矩形的交叉点,可以使用第二种策略:在光栅处理 过程中裁剪。当在运行中进行的预裁剪和验证像素关于裁剪区域的位置耗费的开销 比较大的时候,可以考虑第三种策略。比如说,当裁剪区域是圆或椭圆的时候我们 可以使用这种策略。 既然大多数时间,我们在以矩形裁剪区域——计算机屏幕,进行处理,也由于 简单的几何图元通常也适用于其它的算法,我们主要集中考虑第一种策略。因此, 在下面我们讨论一下如何在矩形区域内裁剪点、线段和多边形。 4.1.1 点的裁剪 我们最感兴趣的是矩形裁剪区域,区域以四个有限线段描述,限制了屏幕的最 小和最大的水平坐标以及最小和最大的垂直坐标。对这个区域来说,点的裁剪可以 通过沿着这四个约束来检查点的坐标完成。 尽管这种做法已经相当的廉价,但我们还可以在区域的限制线段通过坐标起点 的时候

文档评论(0)

niujiaoba + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档