![]() |
1
2
至1: 果实剔除在光线追踪中没有意义。水果剔除对于光栅化是有意义的。 光栅化是一种自上而下的方法:例如,您想要渲染立方体。在光栅化中,你说的是自上而下的方法——要渲染立方体,我只需要渲染它的面。若要渲染立方体的面(四边形),只需要渲染2个三角形。若要渲染三角形,您必须通过投影矩阵将其投影到顶点,然后进行一些剪裁。在投影和剪裁以渲染二维三角形之后,必须绘制其片段。要绘制片段,您需要一个Z-Buffer和Z-Buffer测试,也许需要一些alpha混合。您可以在光栅化中从顶部(立方体)向下到片段/像素级别进行渲染。当谈到截头体剔除时,你只需说,如果立方体(其8个顶点)不在视锥体内,如果投影单个三角形、剪裁等,我可以跳过整个自上而下的方法。通常,你会对更复杂的对象使用边界框来快速拒绝视锥体外的对象。 光线追踪是自下而上的。你从像素级别开始——你问一个像素你的颜色贡献来自哪里。从场景中的像素追踪光线。通常,您有一个边界体积层次(BVH)。您会发现光线击中了场景的边界框。你顺着层次往下看,发现光线与一个三角形相交。你会发现三角形属于一个具有特定BRDF的对象(例如立方体)。您对BRDF进行采样并获得颜色贡献。截头体剔除在这里没有意义,因为光线可以在整个场景中反弹(转到反射立方体-反射光线反射截头体之外的对象)。 我想你的意思不是弗鲁斯图姆·库林,而是BVH。有不同的方法来实现BVH。例如,您可以使用八叉树: https://book.vertexwahn.de/docs/rendering/octree/ 收件人2: 也来自光栅化领域。光线跟踪的转换是对距离远的对象进行采样,而不是对距离观察者较近的对象进行取样 |
![]() |
Sweepy Dodo · JSON lite的格式化 8 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 9 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 9 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |