如何解决在图形管道的哪个阶段应用 3D 剪辑?
我知道以前有人问过类似的问题,但我不确定我是否找到了满意的答案。根据 Hearn-Baker 的说法,3D 图形管道由以下阶段组成:
Model Model World Viewing View Projection
Coordinates ----------------> Coordinates ----------------> Coordinates ---------------->
(1) Transformation (2) Transformation (3) Transformation
Projection normalization normalized Viewport Device
--> Coordinates ----------------> Coordinates ---------------> Coordinates
(4) and Clipping (5) Transformation (6)
Transformation
此外,Hearn-Baker 提到:
在所有与设备无关的坐标转换(从世界坐标到标准化坐标)完成后,可以应用裁剪操作。通过这种方式,可以连接坐标变换以获得最大效率。
考虑到所有这些,假设我们使用透视投影(所以我们的视域是一个视锥体)并且在 3D 空间中有一条线 AB,它的一半在视锥体内部,另一半在外部。例如,假设线的顶点 A 在截锥体内部,顶点 B 在其左侧/平面之外。
据我所知,归一化是将截锥体转换为普通立方体(X-Y-Z 轴的坐标从 -1 到 1)的过程。因此,我们必须“选择”视锥体内的所有顶点并将它们“拉伸”到我们的规范化立方体中。归一化程序也帮助我们处理深度;截锥体的几何形状发生变化,因此截锥体底部(远平面)中存在的所有物体都变小了。
那么,既然平截头体的几何形状发生了变化(顶点 A 发生了变化,顶点 B 保持不变),我们如何在归一化立方体中执行剪裁?不应该在使用 View 坐标的第三阶段执行剪辑吗?如果 Hearn-Baker 是对的,我们如何对 A-B 线进行剪辑?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。