将 Lua 脚本添加到业余光线追踪器中

为将我的业余光线追踪器提升至下一个层次,我决定用 Lua 脚本替换自己的自定义配置文件。在自定义配置文件中,我存储了网格文件名、光源位置和材料等内容。使用 Lua 脚本会使得我的配置文件更加灵活,同时也有望添加像生成视频动画这样的功能,而不仅仅是从固定视角生成图片。

我希望这个过程可以用 SWIG 实现,它将根据我的 raytracer.i 生成一些 C++ 文件。理想情况下,我希望可以更改我的 CMake 文件,让所有的魔法都在里面发生。我的 main 函数会像这样:

int main(...) {
    return run_lua_script(argv[1]);
}

在构建过程中,SWIG 会介入,并生成这个 C++ 文件,然后 CMake 会将该文件添加到我的可执行文件的 C++ 文件列表中。

这个方案可行吗?如果可以,是否有类似的 CMakeLists.txt 示例可以参考?

(请注意,我要生成可执行文件,用于打开 Lua 文件,而不是 *.so 或 *.dll 文件,用于从 Lua 脚本中加载。)

点赞