![POVray 场景描述语言的现代替代品](https://linux22.com/image/1365988/POVray%20%E5%9C%BA%E6%99%AF%E6%8F%8F%E8%BF%B0%E8%AF%AD%E8%A8%80%E7%9A%84%E7%8E%B0%E4%BB%A3%E6%9B%BF%E4%BB%A3%E5%93%81%20.png)
简而言之:
你知道吗3D场景的生成脚本并像 POVray 一样进行渲染,但采用更现代的渲染技术(Metropolis-light 传输、GPGPU、环境光遮蔽),最好使用基于通用的场景描述语言目的语言,如 Java 或 Python。简单来说——POVray 的更现代替代品
长话短说:
我有时会使用 POVray 进行生成设计/图形,因为 POVray 的场景描述语言非常好,而且它是我所知道的唯一一款以“编写场景代码“ 而不是 ”使用 GUI 来建模场景“
另一方面,POVray 的核心相当老旧。例如,视觉质量远远落后勒克斯渲染速度也不是很好(缺少环境光遮蔽等常见技巧)。另一方面,luxrender 的输入文件不应该手写(例如,没有像 POVray 那样出色的利用几何图元上的布尔运算进行实体建模, 或者用解析函数处方描述的表面或“blobs”(我经常用它来编写脚本)。
此外,我认为将场景描述语言集成到某些通用编程语言(例如 python 或 java)中,或者至少拥有一些与这些语言功能齐全的接口,这将是很好的。
我想知道有没有类似这样的事?
据我所知,最接近这种情况的是太阳流它可以作为库导入到任何 Java 程序中,并且原始类和接口可以在标准 Java 中扩展 - 因此原则上您可以通过这种方式定义自己的几何图元。但是,SunFlow 项目现在似乎已经死了,并且没有关于如何使用这个直接 Java 接口的好教程。
答案1
不,目前还没有。
在开源光线追踪器中,有 Luxrender、Yafaray、Sunflow 和 Aqsis,但它们都不支持像 POVRay 那样使用场景描述语言创建场景。只有简单的 POVRay 场景才有可能转换为其他格式,因为它不是声明性的,而是一种脚本语言。
可以为 Yafaray 编写 XML,但它不具有相同的功能。