【发布时间】:2021-02-06 13:31:44
【问题描述】:
我正在为我的下一个项目做技术研究,但还没有找到合适的东西,所以我试试看。
我要解决的问题如下:
- 我有很多(成百上千)个程序生成的场景,每个场景都包含大约 10k 个立方体。
- 我想在每一个中检查 1k-10k 射线并获取命中距离的统计数据。
- 这不是渲染问题 - 光线并非都来自同一位置。 (所以基于深度通道的光线追踪不太适合)
- 性能很重要。我希望底层代码是基于 GPU 或可并行化的 C。
是否有允许我做这些事情的框架?我查看了游戏引擎,但大多不进行光线追踪。 我更喜欢找到一个可以做到这一点的 python 框架框架,但也会选择其他语言(C# / C++)。
解决此类问题的最佳方法是什么?
【问题讨论】:
-
您可以在 Unity 中轻松完成此操作。我们支持光线追踪。您也可以在场景中自己实现它。有许多在线示例展示了如何从计算着色器填充纹理。
-
谢谢!我发现的最接近的情况是:github.com/superdump/unity-compute-shader-ray-tracer 但是它通过对每个对象进行测试来进行光线追踪(警告有超过几百个三角形的场景),我不确定它是否可并行化(发射 10000 条光线,等待结果,处理)。我希望有一些算法可以预处理场景以创建更有效的光线路径解决方案,然后使用它......也许我过于乐观了。
标签: python graphics 3d simulation raytracing