至1:
Frustum剔除在光线跟踪中没有意义.果核剔除对于光栅化是有意义的.
光栅化是一种自顶向下的方法:例如,你想渲染立方体.在光栅化中,你说在一个自上而下的方法-渲染一个立方体,我只是必须渲染它的脸.要渲染立方体的面(四边形),您只需渲染2个三角形.要渲染一个三角形,你必须通过一个投影矩阵投影它的顶点,然后做一些裁剪.在投影和裁剪渲染一个2D三角形之后,你必须画出它的片段.要绘制一个片段,你需要一个Z-Buffer和一个Z-Buffer测试,也许是一些alpha混合.在光栅化中,您可以从顶部(立方体)到片段/像素级别进行渲染.当涉及到平截体剔除你简单地说,如果立方体(它的8个顶点)是不是在视图平截体,我可以跳过整个自上而下的方法,如果投影个别三角形,裁剪等,通常你使用边界框更复杂的对象,以快速拒绝对象以外的视图平截体.
光线跟踪是自下而上的.你从像素级别开始--你问一个像素你的 colored颜色 贡献来自哪里.从场景中的像素跟踪光线.通常,您有一个边界卷层次 struct (BVH).您会发现光线击中了场景的边界框.你沿着层次往下走,发现光线与一个三角形相交.您会发现该三角形属于一个具有特定BRDF的对象(例如,立方体).您可以对BRDF进行采样并获得 colored颜色 贡献.Frustum剔除在这里没有意义,因为光线可以在整个场景中反弹(转到反射立方体-反射光线反射锥体外部的对象).
我想你指的不是FrustumFlutter 杀,而是BVH.有不同的方法来实现BVH.例如,您可以使用八叉树:https://book.vertexwahn.de/docs/rendering/octree/
至2:
也来自光栅化领域.光线跟踪的转换是对距离远小于距离观察者近的对象进行采样