在本课程中,你使用动态渲染和 Ray Query 在 Vulkan 光栅化管线中实现了光线追踪效果。让我们总结一下关键点:
动态渲染:简化了渲染通道的设置,现在是在 Vulkan 中开始渲染的首选方式。我们通过 RenderDoc 验证了其用法。特别是对于移动端,当与本地附件读取扩展结合使用时,它是一个福音。
加速结构:我们从加载的模型创建了 BLAS 和 TLAS。使用 Nsight Graphics,我们确认了这些结构的正确构建。
用于阴影的 Ray Query:我们在片段着色器中投射了阴影光线。最初只考虑不透明几何体,然后我们通过手动检查交点的纹理 Alpha 值,将其改进为处理 Alpha 测试透明度。
用于反射的 Ray Query:作为额外收获,我们投射了反射光线,并使用命中结果来调节反射材质的片段颜色。这利用了相同的加速结构,并使用了类似的 Proceed() 循环逻辑。你可以想象将其扩展到折射、环境光遮蔽光线等。
我们希望本实验让你亲身体验了使用 Vulkan 最新特性的混合渲染。祝你在 Vulkan 中渲染愉快,并享受在应用程序中创建更高级的光线追踪效果!
在 https://github.com/KhronosGroup/Vulkan-Tutorial 完成完整的 Vulkan 教程
在 https://www.khronos.org/vulkan 查找更多 Vulkan 文档和资源
阅读 Arm 的 Vulkan 最佳实践指南:https://developer.arm.com/mobile-graphics-and-gaming/vulkan-api-best-practices-on-arm-gpus
在 https://github.com/baldurk/renderdoc 下载 RenderDoc
在 https://developer.nvidia.com/nsight-graphics 下载 NVIDIA Nsight Graphics
在 https://shader-slang.org 了解更多关于 Slang 着色语言的信息
3D 资源由 Poly Haven 提供,并使用 Blender 组合:
上一篇:反射
Vulkan 是 Khronos Group Inc. 的注册商标
教程内容版权归原作者,遵循 CC BY-SA 4.0;本站独立代码及设计除外。