> ## Content Index
> Fetch the complete content index at: https://cms.yufeiran.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Vulkan Real-Time Ray Tracing
- URL: https://cms.yufeiran.com/vulkan-real-time-ray-tracing/
- Published: 2023-03-19T17:37:15.000Z
- Updated: 2026-09-27T12:42:24.000Z
- Author: Feiran Yu
- Tags: #legacy-import

本文会介绍使用**Vulkan**来实现**实时光线追踪**的过程。

**Vulkan**是一个低开销、跨平台的二维、三维图形与计算的API，比起OpenGL更加底层，更加底层意味着可以优化性能表现的地方更多，可以提供较高的性能表现。

**光线追踪**（英语：ray tracing）是三维计算机图形学中的特殊渲染算法，追踪光线从来源开始照射到物体上，再由物体反射的光线“路径”，由于完整运算所有路径十分消耗运算资源，因此现有光线追踪技术仅运算“目所能及”的光线路径。

**实时光线追踪**(Real-Time Ray Tracing)原理上与光线追踪没有区别，而是使用了硬件加速、减少采样量、步进长度来减少计算量，最后可以达到实时水平（每秒可以绘制多帧画面）。细节可以参考[高质量实时渲染：实时光线追踪](https://yangwc.com/2021/08/01/RTRT/?ref=cms.yufeiran.com)

图1是实时光追在 Wolfenstein: Youngblood 中的应用对比。  

![2020-Real-time-ray-traced-reflections-in-Wolfenstein-01](https://yufeiran.com/content/images/2023/03/2020-Real-time-ray-traced-reflections-in-Wolfenstein-01.jpg)

| 图1 (左侧没有开启反射 右侧开启光线追踪的反射) |
| ------------------------- |

# 技术路线

1 学习vulkan

过程： 通过学习[https://vulkan-tutorial.com/](https://vulkan-tutorial.com/?ref=cms.yufeiran.com) 和[https://vkguide.dev/](https://vkguide.dev/?ref=cms.yufeiran.com) 来初步掌握Vulkan的基本概念  
[https://github.com/yufeiran/LearnVulkan](https://github.com/yufeiran/LearnVulkan?ref=cms.yufeiran.com)

2 搭建一个可以渲染多个物体的小框架

[https://github.com/yufeiran/miniVulkanRender](https://github.com/yufeiran/miniVulkanRender?ref=cms.yufeiran.com)  
[Vulkan:用dynamic uniform绘制多个物体](https://www.jianshu.com/p/4a9dff7e8d10?ref=cms.yufeiran.com)

3 开始学习Ray Tracing

准备学习一些tutorial:[NVIDIA Vulkan Ray Tracing Tutorials](https://github.com/nvpro-samples/vk%5Fraytracing%5Ftutorial%5FKHR?ref=cms.yufeiran.com)，然后自己实现一个小的光线追踪框架  
同时学习gltf格式：[https://github.khronos.org/glTF-Tutorials/gltfTutorial/](https://github.khronos.org/glTF-Tutorials/gltfTutorial/?ref=cms.yufeiran.com)

# 硬件加速光线追踪原理解析

我对显卡如何实现硬件加速光追的细节比较感兴趣，查了一些资料，整理成ppt：

📁 **File:** Hardware acceleration ray tracing principles design and applications [Download](https://yufeiran.com/content/files/2023/12/Hardware-acceleration-ray-tracing-principles--design-and-applications-1.pdf?ref=cms.yufeiran.com)

📁 **File:** Hardware acceleration ray tracing principles design and applications [Download](https://yufeiran.com/content/files/2023/12/Hardware-acceleration-ray-tracing-principles--design-and-applications-2.pptx?ref=cms.yufeiran.com)

# CSIG竞赛相关材料

比赛链接

📁 **File:** AwardMaterials [Download](https://yufeiran.com/content/files/2023/12/AwardMaterials.pdf?ref=cms.yufeiran.com)

📁 **File:** RayTracingReport [Download](https://yufeiran.com/content/files/2023/12/RayTracingReport.pdf?ref=cms.yufeiran.com)

# DemoVideo

Your browser does not support the video tag.

## 文档

📁 **File:** RaytracingDocument [Download](https://yufeiran.com/content/files/2023/12/RaytracingDocument.pdf?ref=cms.yufeiran.com)

# 渲染器实现

在完成竞赛后，我也自行实现了一个自己的渲染器 [https://github.com/yufeiran/miniVulkanRenderer2](https://github.com/yufeiran/miniVulkanRenderer2?ref=cms.yufeiran.com)

# 参考链接

## 原理

[高质量实时渲染：实时光线追踪](https://yangwc.com/2021/08/01/RTRT/?ref=cms.yufeiran.com)  
[深入GPU硬件架构及运行机制](https://www.cnblogs.com/timlly/p/11471507.html?ref=cms.yufeiran.com)

## tutorial

[RayTracingInVulkan](https://github.com/GPSnoopy/RayTracingInVulkan?ref=cms.yufeiran.com)  
[NVIDIA Vulkan Ray Tracing Tutorials](https://github.com/nvpro-samples/vk%5Fraytracing%5Ftutorial%5FKHR?ref=cms.yufeiran.com)

# AMD 硬件加速光追原理

[https://zhuanlan.zhihu.com/p/337151778](https://zhuanlan.zhihu.com/p/337151778?ref=cms.yufeiran.com)

![](https://yufeiran.com/content/images/2023/03/wallhaven-r2eg1w.png)