今日推荐的GitHub项目是kajiya,它是一个实验性实时全局光照渲染器,使用Rust和Vulkan来实现。目前,该项目的Star量为2.8k。

着色器开发光照模型(实时全局光照渲染器kajiya)(1)

GitHub主页

kajiya的总体目标是在动态场景中尽可能以实时速度接近路径追踪模式,不需要任何预计算的光传播或手动放置的光探针

目前,kajiya并不打算成为功能齐全的游戏渲染器,也无法支持所有类型的场景、光现象或多样化的硬件。

kajiya只是一个兴趣项目,有很多缺点,并会持续改进。

下图为使用kajiya渲染的废墟环境。

着色器开发光照模型(实时全局光照渲染器kajiya)(2)

特性

主要平台

目前,kajiya只支持少数几个操作系统和硬件上运行。

硬件包括如下:

操作系统包括如下:

依赖包括如下:

搭建与运行

想要构建kajiya及其工具,你需要Rust。

bake.rs中有个非常小的资产管道,它将GLTF中的网格转换成内部平面格式,并计算纹理映射。为了烘焙(bake)所有提供的网格,你需要在不同的操作系统上分别运行如下:

完成之后,通过如下运行渲染器demo:

其中[scene_name]是assets/scenes中的一个文件名称,没有.ron扩展,如下所示:

build_and_run.cmd battle

或者

cargo run --bin view --release -- --scene battle --width 1920 --height 1080 --no-debug

更多细节内容请参阅原项目。

扩展阅读

,