微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在图形管道的哪个阶段应用 3D 剪辑?

如何解决在图形管道的哪个阶段应用 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 举报,一经查实,本站将立刻删除。