我正在考虑在我的软件逐像素实时raycaster中利用光线一致性。
AFAICT,使用均匀网格,如果我将光线相干性分配给4x4像素的斑块(目前我每个像素有一个光线投射),给定16个具有不同起点(和终点)点的平行光线,这是如何工作的一个连贯的场景?我所预见的是:
鉴于我的光线是从一个点而不是一个平面投射的,我想我会根据所经过的距离需要某种分裂函数,这样所有光线的集合在向外移动时形成一棵树。我关注的是,当靠近观众时,更精细的细节将会丢失。
我想我只是没有理解这是如何使用的。
答案 0 :(得分:2)
如果操作正确,光线一致性不应影响最终图像。因为光线非常接近,所以在穿越加速结构(kd-tree,aabb tree等)时,它们都会采取类似的路径。你必须沿着任何光线可以击中的每个分支向下,但希望这不会增加分支的数量,并且它节省了内存访问。
另一个优点是你可以使用SIMD(例如SSE)加速你的一些测试,包括加速结构和三角形。