一:概述
Vulkan 的光线追踪是一种现代图形技术,用于实现更加逼真的高质量渲染效果。通过使用Vulkan的光线追踪扩展:VK_KHR_ray_tracing_pipeline 和 VK_KHR_acceleration_structure, 程序员可以更加高效的模拟光线的传播,反射和折射,并能够跟踪光线在场景中的传播路径,计算与场景中物体的求交,从而生成逼真的图像。
二:关键技术
1. 加速结构
为了进行高效的光线求交,提高光线与场景中物体的求交效率,通过利用场景中物体的几何信息,组织形成一些加速结构可以显著减少光线与物体与场景的求交数量,从而加快渲染速度。常见的加速结构:
- 底层加速结构(BLAS):用于存储单个物体的几何数据,如三角形,网格,每个底层加速结构描述一个物体。底层加速结构通常使用BVH(Bounding Volume Hierarchy)来组织数据,使得光线与物体的求交更高效。
- 顶层加速结构(TLAS):用于表示场景中所有物体,包括他们在场景中的位置和旋转缩放变换信息。 顶层加速结构统一使用BVH来组织数据,以更快速确定光线与哪些实例相交,然后再通过相应的BLAS进行进一步求交测试。