随机光线追踪本质上对缓存不友好吗?
特别是在视图更新频繁的实时光线跟踪器的上下文中?
显而易见的答案似乎是“是”,但我想知道是否已经找到任何方法来加速蒙特卡罗方法,因为它们很有用。
Specifically in the context of a real-time raytracer where view updates are frequent?
The obvious answer would seem to be "yes" and yet I wonder if any methods have been found to accelerate Monte Carlo methods given their usefulness.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的意思是随机采样(用于模拟 DOF 或运动模糊等效果),那么答案可能是肯定的。同一像素的两条样本光线可能会导致加速结构中出现两条截然不同的路径,从而导致潜在的缓存未命中。
加速这一过程的最佳方法之一就是不要对主光线使用光线跟踪,而是使用光栅化并使用多边形的随机采样(检查 雷耶斯渲染)。
例如,Pixar 的 RenderMan® 等软件就是这样做的。
If you mean by stochastic stochasting sampling (for simulating effects like DOF or motion blur), the answer is probably yes. Two sample rays for a same pixel could lead to two very different paths in your acceleration structure, leading to potential cache misses.
One of the best way to accelerate this is simply not to use raytracing for primary rays but rasterization and use stochastic sampling of your polygons (check for Reyes rendering).
That's what softwares like Pixar's RenderMan® do for instance.