免责声明:我不是100%知道这是否是一个格式正确的问题,所以请随时评论并提出改进建议。我会积极寻找改善这个问题的方法。
我有一个三角形网格,比方说Stanford Bunny。现在,我希望沿3D方向矢量从3D源点光线投射光线,并仅识别该光线与三角形网格的第一个交点。
我已经有了一个天真的实现。但是,我正在寻找更高级的实现。特别是,我将在多个方向上投射数百万条光线,因此我正在寻找多线程或GPU加速实现。
我必须相信在线必须有一些非常完整的项目,因为光线投射三角形网格是3D计算机图形的基本部分。但是,除了个人项目之外,我找不到任何东西,这让我相信我使用的是错误的搜索词,或者说这些词很简单。
我正在寻找有关光线跟踪多边形网格的现有工具的建议。
答案 0 :(得分:0)
如果您需要做的就是找到数百万条光线到网格的距离。那么在线查找 CUDA 光线追踪教程可能是个好主意。这将向您展示如何投射数百万条光线。在大多数教程中,光线跟踪用于通过相机矩阵渲染到屏幕上。然而,这不是必需的。只需将光线开始参数调整为您需要的参数,例如 3D 矢量和位置。然后将数据输出回CPU。厌倦了 GPU 和 CPU 之间的带宽,在 CPU 和 GPU 之间发送数百万个交点会使程序运行异常缓慢。