是否有特定的3D场景格式或非常适合光线追踪?

Jan*_*ard 9 3d file-format raytracing scene

我正在研究光线跟踪器,我不想在3D场景的文件格式方面重新发明轮子.我也希望能够用他人制作的场景来测试我的节目.我是程序员而不是3D建模师.

是否有特定的3D场景格式或非常适合光线追踪?

phk*_*ler 6

实际上没有特定于光线跟踪的格式(除非您计算PovRay格式).光线跟踪是一种渲染图像的方法,可以应用于任何场景.人物建模场景将使用他们选择的建模软件,并且通常以建模者的默认格式保存.

看起来你没有任何加载特定格式的要求(或者你不会问)所以我猜你只是想能够从网上导入各种几何进行测试.如果是这种情况,请查看ompf论坛:http://ompf.org/ 他们有一个部分,其中包含免费提供的场景链接.你可以感受到那里常见的东西.

另一种选择是利用开放资产导入库:http: //assimp.sourceforge.net/

这可以为您导入大量文件格式.它将它们全部加载到内部数据结构中,然后您可以根据需要进行处理.它使用BSD许可证,因此它应该与您正在做的任何事情合理地许可.


Tim*_*dge 5

当我编写光线追踪器时,我为Blender编写了一个导出器(它是免费的)。Blender本身可以加载数十种格式,然后一个简单的20行python脚本将为您提供所需的要点。

超级好用的功能是,在Blender中,您可以将模型的所有面转换为三角形。大多数光线跟踪器仅适用于三角形(或在内部将多边形转换为三角形)。因此,让Blender完成处理这些多边形的繁重工作非常好。

从20行代码开始,您可以仅导出多边形。从那里,您可以将其扩展到输出材质,法线等。我喜欢这种方法,因为我可以以所需的格式获取所需的数据,但仍可以选择导入更复杂的模型。

其他方法也可以使用,但是您首先必须弄清楚如何解析文件,然后以所需的格式获取文件。我宁愿编写光线追踪器,也不愿解析器。

  • 实际上,大多数真正的“射线追踪器”都能很好地处理几何实体。它是建模软件和基于栅格的渲染器,通常只能处理三角形(或四边形)。 (2认同)
  • 您说“大多数光线追踪器**仅**适用于三角形”,这对大多数读者来说正是这个意思(因此排除几何实体)。 (2认同)