diff --git a/Changelog.html b/Changelog.html index 5135974..a39af0f 100644 --- a/Changelog.html +++ b/Changelog.html @@ -279,7 +279,7 @@

更新日志#

此更新日志为纵览更新,对于具体文章的更新位于每个文章的开头的 更新记录 中。

-

2024/3/29#

+

2024/3/31#

  • 更新资源文档

  • @@ -287,7 +287,7 @@

    2024/3/29#

-

2024/3/28#

+

2024/3/29#

  • 更新资源文档

  • @@ -295,7 +295,7 @@

    2024/3/28#

-

2024/3/27#

+

2024/3/28#

  • 更新资源文档

  • @@ -303,15 +303,15 @@

    2024/3/27#

-

2024/3/26#

+

2024/3/27#

    -
  • 更新内存文档

  • +
  • 更新资源文档

-

2024/3/24#

+

2024/3/26#

  • 更新内存文档

  • @@ -319,7 +319,7 @@

    2024/3/24#

-

2024/3/23#

+

2024/3/24#

  • 更新内存文档

  • @@ -327,7 +327,7 @@

    2024/3/23#

-

2024/3/19#

+

2024/3/23#

  • 更新内存文档

  • @@ -335,7 +335,7 @@

    2024/3/19#

-

2024/3/17#

+

2024/3/19#

  • 更新内存文档

  • @@ -343,7 +343,7 @@

    2024/3/17#

-

2024/3/16#

+

2024/3/17#

  • 更新内存文档

  • @@ -351,7 +351,7 @@

    2024/3/16#

-

2024/3/15#

+

2024/3/16#

  • 更新内存文档

  • @@ -359,7 +359,7 @@

    2024/3/15#

-

2024/3/14#

+

2024/3/15#

  • 更新内存文档

  • @@ -367,7 +367,7 @@

    2024/3/14#

-

2024/3/10#

+

2024/3/14#

  • 更新内存文档

  • @@ -375,7 +375,7 @@

    2024/3/10#

-

2024/3/9#

+

2024/3/10#

  • 更新内存文档

  • @@ -383,7 +383,7 @@

    2024/3/9#

-

2024/3/3#

+

2024/3/9#

  • 更新内存文档

  • @@ -391,7 +391,7 @@

    2024/3/3#

-

2024/2/27#

+

2024/3/3#

  • 更新内存文档

  • @@ -399,7 +399,7 @@

    2024/2/27#

-

2024/2/21#

+

2024/2/27#

  • 更新内存文档

  • @@ -407,7 +407,7 @@

    2024/2/21#

-

2024/2/17#

+

2024/2/21#

  • 更新内存文档

  • @@ -415,15 +415,15 @@

    2024/2/17#

-

2024/2/16#

+

2024/2/17#

    -
  • 更新逻辑设备文档

  • +
  • 更新内存文档

-

2024/2/8#

+

2024/2/16#

  • 更新逻辑设备文档

  • @@ -431,58 +431,58 @@

    2024/2/8#

-

2024/2/7#

+

2024/2/8#

  • 更新逻辑设备文档

  • -
  • 更新最初之物 VkInstance文档

-

2024/2/5#

+

2024/2/7#

  • 更新逻辑设备文档

  • +
  • 更新最初之物 VkInstance文档

-

2024/2/4#

+

2024/2/5#

    -
  • 更新设备队列文档

  • -
  • 更新纵览文档

  • +
  • 更新逻辑设备文档

-

2024/2/3#

+

2024/2/4#

  • 更新设备队列文档

  • +
  • 更新纵览文档

-

2024/2/2#

+

2024/2/3#

    -
  • 更新最初之物 VkInstance文档

  • -
  • 更新物理设备文档

  • +
  • 更新设备队列文档

-

2024/2/1#

+

2024/2/2#

  • 更新最初之物 VkInstance文档

  • +
  • 更新物理设备文档

-

2024/1/30#

+

2024/2/1#

  • 更新最初之物 VkInstance文档

  • @@ -490,7 +490,7 @@

    2024/1/30#

-

2024/1/28#

+

2024/1/30#

  • 更新最初之物 VkInstance文档

  • @@ -498,7 +498,7 @@

    2024/1/28#

-

2024/1/25#

+

2024/1/28#

  • 更新最初之物 VkInstance文档

  • @@ -506,15 +506,15 @@

    2024/1/25#

-

2024/1/20#

+

2024/1/25#

    -
  • 更新纵览文档

  • +
  • 更新最初之物 VkInstance文档

-

2024/1/14#

+

2024/1/20#

  • 更新纵览文档

  • @@ -522,7 +522,7 @@

    2024/1/14#

-

2024/1/10#

+

2024/1/14#

  • 更新纵览文档

  • @@ -530,7 +530,7 @@

    2024/1/10#

-

2024/1/9#

+

2024/1/10#

  • 更新纵览文档

  • @@ -538,7 +538,7 @@

    2024/1/9#

-

2024/1/8#

+

2024/1/9#

  • 更新纵览文档

  • @@ -546,24 +546,24 @@

    2024/1/8#

-

2024/1/6#

+

2024/1/8#

  • 更新纵览文档

  • -
  • source/_static/css中增加custom_content.csscustom_sidebar_drawer.css自定义css文件。用于将文章区域变宽,看着舒服。

-

2024/1/5#

+

2024/1/6#

  • 更新纵览文档

  • +
  • source/_static/css中增加custom_content.csscustom_sidebar_drawer.css自定义css文件。用于将文章区域变宽,看着舒服。

-

2024/1/4#

+

2024/1/5#

  • 更新纵览文档

  • @@ -571,7 +571,7 @@

    2024/1/4#

-

2024/1/3#

+

2024/1/4#

  • 更新纵览文档

  • @@ -579,7 +579,15 @@

    2024/1/3#

-

2024/1/2#

+

2024/1/3#

+
+
    +
  • 更新纵览文档

  • +
+
+
+
+

2024/1/2#

  • 更新开始于 Vulkan SDK文档

  • @@ -595,32 +603,32 @@

    2024/1/2#

-
-

2023/11/4#

+
+

2023/11/4#

  • 更新可调用着色器文档

-
-

2023/11/2#

+
+

2023/11/2#

  • 更新glTF 场景文档

-
-

2023/11/1#

+
+

2023/11/1#

  • 更新glTF 场景文档

-
-

2023/10/31#

+
+

2023/10/31#

  • 增加Visual Studio Code文档

  • @@ -628,24 +636,24 @@

    2023/10/31#<

-
-

2023/10/28#

+
+

2023/10/28#

  • 更新glTF 场景文档

-
-

2023/10/26#

+
+

2023/10/26#

  • 更新glTF 场景文档

-
-

2023/10/24#

+
+

2023/10/24#

  • 增加glTF 场景文档

  • @@ -653,16 +661,16 @@

    2023/10/24#<

-
-

2023/10/22#

+
+

2023/10/22#

  • 更新纵览文档

-
-

2023/10/21#

+
+

2023/10/21#

  • 更新纵览文档

  • @@ -671,32 +679,32 @@

    2023/10/21#<

-
-

2023/10/19#

+
+

2023/10/19#

  • 更新纵览文档

-
-

2023/10/18#

+
+

2023/10/18#

  • 更新纵览文档

-
-

2023/10/17#

+
+

2023/10/17#

  • 更新相交着色器文档

-
-

2023/10/16#

+
+

2023/10/16#

  • 增加可调用着色器文档

  • @@ -705,40 +713,40 @@

    2023/10/16#<

-
-

2023/10/15#

+
+

2023/10/15#

  • 更新纵览文档

-
-

2023/10/12#

+
+

2023/10/12#

  • 更新纵览文档

-
-

2023/10/10#

+
+

2023/10/10#

  • 更新相交着色器文档

-
-

2023/10/8#

+
+

2023/10/8#

  • 更新相交着色器文档

-
-

2023/10/7#

+
+

2023/10/7#

  • 增加相交着色器文档

  • @@ -747,40 +755,40 @@

    2023/10/7#

-
-

2023/10/6#

+
+

2023/10/6#

  • 更新纵览文档

-
-

2023/10/4#

+
+

2023/10/4#

  • 更新纵览文档

-
-

2023/10/3#

+
+

2023/10/3#

  • 更新纵览文档

-
-

2023/9/25#

+
+

2023/9/25#

  • 更新环境配置文档

-
-

2023/9/23#

+
+

2023/9/23#

  • 增加Android 平台适配随笔文档

  • @@ -788,8 +796,8 @@

    2023/9/23#

-
-

2023/9/22#

+
+

2023/9/22#

  • 更新动态更新文档

  • @@ -798,8 +806,8 @@

    2023/9/22#

-
-

2023/9/20#

+
+

2023/9/20#

  • 增加动态更新文档

  • @@ -808,8 +816,8 @@

    2023/9/20#

-
-

2023/9/15#

+
+

2023/9/15#

  • 更新着色器绑定表文档

  • @@ -817,8 +825,8 @@

    2023/9/15#

-
-

2023/9/14#

+
+

2023/9/14#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -826,16 +834,16 @@

    2023/9/14#

-
-

2023/9/13#

+
+

2023/9/13#

  • 更新多重最近命中着色器文档

-
-

2023/9/12#

+
+

2023/9/12#

  • 更新反射文档

  • @@ -844,8 +852,8 @@

    2023/9/12#

-
-

2023/9/7#

+
+

2023/9/7#

  • 更新实例化文档

  • @@ -854,16 +862,16 @@

    2023/9/7#

-
-

2023/9/4#

+
+

2023/9/4#

  • 更新实例化文档

-
-

2023/9/1#

+
+

2023/9/1#

  • 增加实例化文档

  • @@ -871,24 +879,24 @@

    2023/9/1#

-
-

2023/8/31#

+
+

2023/8/31#

  • 更新任意命中着色器(Any Hit Shaders)教程文档

-
-

2023/8/29#

+
+

2023/8/29#

  • 更新相机抖动抗锯齿教程文档

-
-

2023/8/25#

+
+

2023/8/25#

  • 更新相机抖动抗锯齿教程文档

  • @@ -896,8 +904,8 @@

    2023/8/25#

-
-

2023/8/24#

+
+

2023/8/24#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -906,24 +914,16 @@

    2023/8/24#

-
-

2023/8/23#

-
-
    -
  • 更新NVIDIA Vulkan 光线追踪教程文档

  • -
-
-
-

2023/8/4#

+

2023/8/23#

    -
  • 更新VK_KHR_ray_tracing_pipeline文档

  • +
  • 更新NVIDIA Vulkan 光线追踪教程文档

-

2023/8/3#

+

2023/8/4#

  • 更新VK_KHR_ray_tracing_pipeline文档

  • @@ -931,7 +931,7 @@

    2023/8/3#

-

2023/8/1#

+

2023/8/3#

  • 更新VK_KHR_ray_tracing_pipeline文档

  • @@ -939,15 +939,15 @@

    2023/8/1#

-

2023/7/31#

+

2023/8/1#

    -
  • 更新WebGPU Shader Compiler文档

  • +
  • 更新VK_KHR_ray_tracing_pipeline文档

-

2023/7/29#

+

2023/7/31#

  • 更新WebGPU Shader Compiler文档

  • @@ -955,7 +955,7 @@

    2023/7/29#

-

2023/7/28#

+

2023/7/29#

  • 更新WebGPU Shader Compiler文档

  • @@ -963,7 +963,7 @@

    2023/7/28#

-

2023/7/27#

+

2023/7/28#

  • 更新WebGPU Shader Compiler文档

  • @@ -971,7 +971,7 @@

    2023/7/27#

-

2023/7/26#

+

2023/7/27#

  • 更新WebGPU Shader Compiler文档

  • @@ -979,38 +979,38 @@

    2023/7/26#

-

2023/7/25#

+

2023/7/26#

  • 更新WebGPU Shader Compiler文档

  • -
  • 增加WebGPU文件夹,用于存储WebGPU的可执行文件

  • -
  • WebGPU增加ShaderCompiler文件夹,用于存储网页版在线着色器编译器可执行文件

  • -
  • 增加WebGPU Shader Compiler文档

-

2023/7/24#

+

2023/7/25#

    +
  • 更新WebGPU Shader Compiler文档

  • 增加WebGPU文件夹,用于存储WebGPU的可执行文件

  • -
  • WebGPU增加ImGuiTest文件夹,用于存储WebGPUImGui可执行文件

  • -
  • WebGPU增加HelloTriangle文件夹,用于存储WebGPUHelloTriangle可执行文件

  • -
  • 增加WebGPU ImGui文档,用于跳转WebGPU ImGui页面

  • -
  • 增加WebGPU Hello Triangle文档,用于跳转WebGPU ImGui页面

  • +
  • WebGPU增加ShaderCompiler文件夹,用于存储网页版在线着色器编译器可执行文件

  • +
  • 增加WebGPU Shader Compiler文档

-

2023/7/21#

+

2023/7/24#

    -
  • 更新VK_KHR_ray_tracing_pipeline文档

  • +
  • 增加WebGPU文件夹,用于存储WebGPU的可执行文件

  • +
  • WebGPU增加ImGuiTest文件夹,用于存储WebGPUImGui可执行文件

  • +
  • WebGPU增加HelloTriangle文件夹,用于存储WebGPUHelloTriangle可执行文件

  • +
  • 增加WebGPU ImGui文档,用于跳转WebGPU ImGui页面

  • +
  • 增加WebGPU Hello Triangle文档,用于跳转WebGPU ImGui页面

-

2023/7/17#

+

2023/7/21#

  • 更新VK_KHR_ray_tracing_pipeline文档

  • @@ -1018,33 +1018,33 @@

    2023/7/17#

-

2023/7/14#

+

2023/7/17#

    -
  • 更改总站访问统计方式。从PV改为UV统计

  • -
  • 增加VK_KHR_ray_tracing_pipeline文档

  • +
  • 更新VK_KHR_ray_tracing_pipeline文档

-

2023/7/10#

+

2023/7/14#

    -
  • 更新纵览文档

  • -
  • 更新开始于 Vulkan SDK文档

  • +
  • 更改总站访问统计方式。从PV改为UV统计

  • +
  • 增加VK_KHR_ray_tracing_pipeline文档

-

2023/7/9#

+

2023/7/10#

  • 更新纵览文档

  • +
  • 更新开始于 Vulkan SDK文档

-

2023/7/8#

+

2023/7/9#

  • 更新纵览文档

  • @@ -1052,23 +1052,23 @@

    2023/7/8#

-

2023/7/4#

+

2023/7/8#

    -
  • 更新VK_KHR_buffer_device_address文档

  • +
  • 更新纵览文档

-

2023/7/2#

+

2023/7/4#

    -
  • 更新纵览文档

  • +
  • 更新VK_KHR_buffer_device_address文档

-

2023/6/30#

+

2023/7/2#

  • 更新纵览文档

  • @@ -1076,41 +1076,41 @@

    2023/6/30#

-

2023/6/29#

+

2023/6/30#

  • 更新纵览文档

  • -
  • 更新开始于 Vulkan SDK文档

-

2023/6/28#

+

2023/6/29#

  • 更新纵览文档

  • +
  • 更新开始于 Vulkan SDK文档

-

2023/6/27#

+

2023/6/28#

    -
  • 将浏览数量合理安排至页脚两侧

  • 更新纵览文档

-

2023/6/26#

+

2023/6/27#

    +
  • 将浏览数量合理安排至页脚两侧

  • 更新纵览文档

-

2023/6/25#

+

2023/6/26#

  • 更新纵览文档

  • @@ -1118,7 +1118,7 @@

    2023/6/25#<

-

2023/6/24#

+

2023/6/25#

  • 更新纵览文档

  • @@ -1126,67 +1126,67 @@

    2023/6/24#<

-

2023/6/23#

+

2023/6/24#

    -
  • 更新开始于 Vulkan SDK文档

  • 更新纵览文档

-

2023/6/21#

+

2023/6/23#

    -
  • 更新VK_KHR_buffer_device_address文档

  • -
  • 更新VK_KHR_acceleration_structure文档

  • +
  • 更新开始于 Vulkan SDK文档

  • +
  • 更新纵览文档

-

2023/6/20#

+

2023/6/21#

    -
  • 增加VK_KHR_buffer_device_address文档

  • +
  • 更新VK_KHR_buffer_device_address文档

  • +
  • 更新VK_KHR_acceleration_structure文档

-

2023/6/15#

+

2023/6/20#

    -
  • 更新VK_KHR_acceleration_structure文档

  • -
  • 增加VK_KHR_deferred_host_operations文档

  • +
  • 增加VK_KHR_buffer_device_address文档

-

2023/6/14#

+

2023/6/15#

  • 更新VK_KHR_acceleration_structure文档

  • +
  • 增加VK_KHR_deferred_host_operations文档

-

2023/6/13#

+

2023/6/14#

    -
  • 更新Vulkan KHR 光线追踪标准文档

  • -
  • 创建单独的VK_KHR_acceleration_structure文档

  • +
  • 更新VK_KHR_acceleration_structure文档

-

2023/6/12#

+

2023/6/13#

  • 更新Vulkan KHR 光线追踪标准文档

  • +
  • 创建单独的VK_KHR_acceleration_structure文档

-

2023/6/11#

+

2023/6/12#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -1194,7 +1194,7 @@

    2023/6/11#<

-

2023/6/10#

+

2023/6/11#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -1202,7 +1202,7 @@

    2023/6/10#<

-

2023/6/9#

+

2023/6/10#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -1210,7 +1210,7 @@

    2023/6/9#

-

2023/6/8#

+

2023/6/9#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -1218,7 +1218,7 @@

    2023/6/8#

-

2023/6/7#

+

2023/6/8#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -1226,7 +1226,7 @@

    2023/6/7#

-

2023/6/6#

+

2023/6/7#

  • 更新Vulkan KHR 光线追踪标准文档

  • @@ -1234,41 +1234,41 @@

    2023/6/6#

-

2023/6/5#

+

2023/6/6#

    -
  • 增加随笔栏目,用于记录学习随笔。

  • -
  • 增加Vulkan KHR 光线追踪标准文档

  • +
  • 更新Vulkan KHR 光线追踪标准文档

-

2023/6/4#

+

2023/6/5#

    -
  • 更新NVIDIA Vulkan 光线追踪教程文档

  • +
  • 增加随笔栏目,用于记录学习随笔。

  • +
  • 增加Vulkan KHR 光线追踪标准文档

-

2023/6/3#

+

2023/6/4#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • -
  • 增加RTX 着色器绑定表的三种方式文档

-

2023/6/2#

+

2023/6/3#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • +
  • 增加RTX 着色器绑定表的三种方式文档

-

2023/6/1#

+

2023/6/2#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1276,7 +1276,7 @@

    2023/6/1#

-

2023/5/31#

+

2023/6/1#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1284,7 +1284,7 @@

    2023/5/31#<

-

2023/5/30#

+

2023/5/31#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1292,7 +1292,7 @@

    2023/5/30#<

-

2023/5/29#

+

2023/5/30#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1300,7 +1300,7 @@

    2023/5/29#<

-

2023/5/28#

+

2023/5/29#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1308,7 +1308,7 @@

    2023/5/28#<

-

2023/5/27#

+

2023/5/28#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1316,7 +1316,7 @@

    2023/5/27#<

-

2023/5/26#

+

2023/5/27#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1324,7 +1324,7 @@

    2023/5/26#<

-

2023/5/25#

+

2023/5/26#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1332,7 +1332,7 @@

    2023/5/25#<

-

2023/5/24#

+

2023/5/25#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1340,7 +1340,7 @@

    2023/5/24#<

-

2023/5/23#

+

2023/5/24#

  • 更新NVIDIA Vulkan 光线追踪教程文档

  • @@ -1348,7 +1348,15 @@

    2023/5/23#<

-

2023/5/22#

+

2023/5/23#

+
+
    +
  • 更新NVIDIA Vulkan 光线追踪教程文档

  • +
+
+
+
+

2023/5/22#

  • 增加sphinx_designsphinx的扩展

  • @@ -1360,24 +1368,24 @@

    2023/5/22#<

-
-

2023/5/21#

+
+

2023/5/21#

  • 更新NVIDIA Vulkan 光线追踪教程文档

-
-

2023/5/20#

+
+

2023/5/20#

  • 更新NVIDIA Vulkan 光线追踪教程文档

-
-

2023/5/19#

+
+

2023/5/19#

  • 增加source/application文件夹,用于存放 Vulkan 应用文档。

  • @@ -1385,8 +1393,8 @@

    2023/5/19#<

-
-

2023/5/18#

+
+

2023/5/18#

  • 更新开始于 Vulkan SDK文章

  • @@ -1394,8 +1402,8 @@

    2023/5/18#<

-
-

2023/5/17#

+
+

2023/5/17#

  • 更新开始于 Vulkan SDK文章

  • @@ -1403,8 +1411,8 @@

    2023/5/17#<

-
-

2023/5/16#

+
+

2023/5/16#

  • 更新纵览文章

  • @@ -1413,8 +1421,8 @@

    2023/5/16#<

-
-

2023/5/15#

+
+

2023/5/15#

  • 增加纵览文章

  • @@ -1426,8 +1434,8 @@

    2023/5/15#<

-
-

2023/5/14#

+
+

2023/5/14#

  • 文献中增加序言章节

  • @@ -1437,8 +1445,8 @@

    2023/5/14#<

-
-

2023/5/12#

+
+

2023/5/12#

  • 修改.github/workflows/release.yml部署脚本和./source/conf.py配置文件,使其支持拷贝代码按钮

  • @@ -1447,8 +1455,8 @@

    2023/5/12#<

-
-

2023/5/11#

+
+

2023/5/11#

  • 增加markdownTest.md,用于测试Sphinx支持Markdown

  • @@ -1458,16 +1466,16 @@

    2023/5/11#<

-
-

2023/5/10#

+
+

2023/5/10#

  • 增加test.rst,用于学习测试reStructuredText语法

-
-

2023/5/9#

+
+

2023/5/9#

  • README.md中增加文档链接

  • @@ -1475,8 +1483,8 @@

    2023/5/9#

-
-

2023/5/8#

+
+

2023/5/8#

Vulkan 中只有 2 种资源 :

@@ -351,7 +357,7 @@

VkBufferCreateInfo -
  • sType 是该结构体的类型枚举值, 必须VkStructureType::VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO

  • +
  • sType 该结构体的类型枚举值, 必须VkStructureType::VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO

  • pNext 要么是 NULL 要么指向其他结构体来扩展该结构体。

  • flags 缓存创建的额外标志位参数。

  • size 要创建的缓存大小。单位为字节。

  • @@ -578,6 +584,172 @@

    示例#

    图片资源#

    +

    Vulkan 中一个图片资源代表相同格式数据块的多维集合,比如 一维/二维/三维 图片等。其通过 VkImage 句柄代表其图片资源,其定义如下:

    +
    // 由 VK_VERSION_1_0 提供
    +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
    +
    +
    +
    +

    创建图片#

    +

    图片资源通过 vkCreateImage(...) 函数创建,其定义如下:

    +
    +

    vkCreateImage#

    +
    // 由 VK_VERSION_1_0 提供
    +VkResult vkCreateImage(
    +    VkDevice                                    device,
    +    const VkImageCreateInfo*                    pCreateInfo,
    +    const VkAllocationCallbacks*                pAllocator,
    +    VkImage*                                    pImage);
    +
    +
    +
      +
    • device 要创建图片对应所在的逻辑设备。

    • +
    • pCreateInfo 图片资源的创建配置信息。

    • +
    • pCreateInfo 句柄内存分配器。

    • +
    • pImage 创建的目标图片句柄。

    • +
    +

    其中 VkImageCreateInfo 定义如下:

    +
    +
    +

    VkImageCreateInfo#

    +
    // 由 VK_VERSION_1_0 提供
    +typedef struct VkImageCreateInfo {
    +    VkStructureType          sType;
    +    const void*              pNext;
    +    VkImageCreateFlags       flags;
    +    VkImageType              imageType;
    +    VkFormat                 format;
    +    VkExtent3D               extent;
    +    uint32_t                 mipLevels;
    +    uint32_t                 arrayLayers;
    +    VkSampleCountFlagBits    samples;
    +    VkImageTiling            tiling;
    +    VkImageUsageFlags        usage;
    +    VkSharingMode            sharingMode;
    +    uint32_t                 queueFamilyIndexCount;
    +    const uint32_t*          pQueueFamilyIndices;
    +    VkImageLayout            initialLayout;
    +} VkImageCreateInfo;
    +
    +
    +
      +
    • sType 该结构体的类型枚举值, 必须VkStructureType::VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO

    • +
    • pNext 要么是 NULL 要么指向其他结构体来扩展该结构体。

    • +
    • flags 创建该图片资源额外的标志位参数。

    • +
    • imageType 图片资源的类型。

    • +
    • format 该图片资源的纹素格式。

    • +
    • extent 该图片资源(各维度上的)大小。

    • +
    • mipLevels 多级渐远纹理级别。

    • +
    • arrayLayers 层级数量。

    • +
    • samples 采样点数量。

    • +
    • tiling 瓦片排布。

    • +
    • usage 该图片资源的用途。

    • +
    • sharingMode 当该图片会被多个设备队列访问时,该参数用于配置该图片共享模式。

    • +
    • queueFamilyIndexCount 指定 pQueueFamilyIndices 数组中元素数量。

    • +
    • pQueueFamilyIndices 用于指定将会访问该缓存的设备队列(族)。如果共享模式 不是 VkSharingMode::VK_SHARING_MODE_CONCURRENT (并行访问)将会忽略该数组。

    • +
    • initialLayout 该图片的初始布局。

    • +
    +

    其中 VkImageType 定义如下:

    +
    +
    VkImageType#
    +
    // Provided by VK_VERSION_1_0
    +typedef enum VkImageType {
    +    VK_IMAGE_TYPE_1D = 0,
    +    VK_IMAGE_TYPE_2D = 1,
    +    VK_IMAGE_TYPE_3D = 2,
    +} VkImageType;
    +
    +
    +
      +
    • VK_IMAGE_TYPE_1D 一维图片。

    • +
    • VK_IMAGE_TYPE_2D 二维图片。

    • +
    • VK_IMAGE_TYPE_3D 三维图片。

    • +
    +

    其中 一维 纹理其本质上就是有相同数据块类型的一维数组:

    +
    // 假如纹素结构如下
    +typedef struct TexelFormat
    +{
    +   uint8_t r;
    +   uint8_t g;
    +   uint8_t b;
    +   uint8_t a;
    +}R8G8B8A8;
    +
    +// VK_IMAGE_TYPE_1D 图片资源可理解为
    +TexelFormat images[VkImageCreateInfo.extent.width][1][1]; // 一维图片
    +// 等价于
    +TexelFormat images[VkImageCreateInfo.extent.width]; // 一维图片
    +
    +
    +

    其中 二维 纹理其本质上就是有相同数据块类型的二维数组:

    +
    // 假如纹素结构如下
    +typedef struct TexelFormat
    +{
    +   uint8_t r;
    +   uint8_t g;
    +   uint8_t b;
    +   uint8_t a;
    +}R8G8B8A8;
    +
    +// VK_IMAGE_TYPE_2D 图片资源可理解为
    +TexelFormat images[VkImageCreateInfo.extent.width][VkImageCreateInfo.extent.height][1]; // 二维图片
    +// 等价于
    +TexelFormat images[VkImageCreateInfo.extent.width][VkImageCreateInfo.extent.height]; // 二维图片
    +
    +
    +

    其中 三维 纹理其本质上就是有相同数据块类型的二维数组:

    +
    // 假如纹素结构如下
    +typedef struct TexelFormat
    +{
    +   uint8_t r;
    +   uint8_t g;
    +   uint8_t b;
    +   uint8_t a;
    +}R8G8B8A8;
    +
    +// VK_IMAGE_TYPE_3D 图片资源可理解为
    +TexelFormat images[VkImageCreateInfo.extent.width][VkImageCreateInfo.extent.height][VkImageCreateInfo.extent.depth]; // 三维图片
    +
    +
    +

    由此可见图片的各维度的大小是由 VkImageCreateInfo::extent 定义的,其 VkExtent3D 类型定义如下:

    +
    +
    +
    VkExtent3D#
    +
    // 由 VK_VERSION_1_0 提供
    +typedef struct VkExtent3D {
    +    uint32_t    width;
    +    uint32_t    height;
    +    uint32_t    depth;
    +} VkExtent3D;
    +
    +
    +
      +
    • width 宽。

    • +
    • height 高。

    • +
    • depth 深度。

    • +
    +

    VkImageCreateInfo::imageTypeVkImageType::VK_IMAGE_TYPE_1D 时,其大小规则如下:

    +
      +
    • 维度大小使用 VkExtent3D::width 表示

    • +
    • VkExtent3D::height 固定为 1

    • +
    • VkExtent3D::depth 固定为 1

    • +
    +

    VkImageCreateInfo::imageTypeVkImageType::VK_IMAGE_TYPE_2D 时,其大小规则如下:

    +
      +
    • 维度大小使用 VkExtent3D::widthVkExtent3D::height 表示

    • +
    • VkExtent3D::depth 固定为 1

    • +
    +

    VkImageCreateInfo::imageTypeVkImageType::VK_IMAGE_TYPE_3D 时,其大小规则如下:

    +
      +
    • 维度大小使用 VkExtent3D::widthVkExtent3D::heightVkExtent3D::depth 表示

    • +
    +
    +

    备注

    +

    无论是几维图片,在 Vulkan 看来全部都是 三维 图片。只不过一维和二维会在固定维度上会坍缩到 1 。( 智子 表示:来看看我坍缩了几个维度?╭(●`∀´●)╯)

    +
    +
    +
    +

    @@ -673,7 +845,18 @@

    图片资源# -
  • 图片资源
  • +
  • 图片资源 +
  • diff --git a/_sources/Changelog.md.txt b/_sources/Changelog.md.txt index 111a05c..0432372 100644 --- a/_sources/Changelog.md.txt +++ b/_sources/Changelog.md.txt @@ -4,6 +4,10 @@ 此更新日志为纵览更新,对于具体文章的更新位于每个文章的开头的 `更新记录` 中。 ``` +## 2024/3/31 + +>* 更新`资源`文档 + ## 2024/3/29 >* 更新`资源`文档 diff --git a/_sources/Resource.rst.txt b/_sources/Resource.rst.txt index 6e596b3..d1442c8 100644 --- a/_sources/Resource.rst.txt +++ b/_sources/Resource.rst.txt @@ -18,6 +18,12 @@ * 2024/3/29 增加 ``销毁缓存`` 章节。 * 2024/3/29 ``销毁缓存`` 章节下增加 ``示例`` 章节。 * 2024/3/29 增加 ``图片资源`` 章节。 + * 2024/3/31 更新 ``图片资源`` 章节。 + * 2024/3/31 增加 ``创建图片`` 章节。 + * 2024/3/31 增加 ``vkCreateImage`` 章节。 + * 2024/3/31 增加 ``VkImageCreateInfo`` 章节。 + * 2024/3/31 增加 ``VkImageType`` 章节。 + * 2024/3/31 增加 ``VkExtent3D`` 章节。 在 ``Vulkan`` 中只有 ``2`` 种资源 : @@ -81,7 +87,7 @@ VkBufferCreateInfo const uint32_t* pQueueFamilyIndices; } VkBufferCreateInfo; -* :bdg-secondary:`sType` 是该结构体的类型枚举值, :bdg-danger:`必须` 是 ``VkStructureType::VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO`` 。 +* :bdg-secondary:`sType` 该结构体的类型枚举值, :bdg-danger:`必须` 是 ``VkStructureType::VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO`` 。 * :bdg-secondary:`pNext` 要么是 ``NULL`` 要么指向其他结构体来扩展该结构体。 * :bdg-secondary:`flags` 缓存创建的额外标志位参数。 * :bdg-secondary:`size` 要创建的缓存大小。单位为字节。 @@ -313,4 +319,180 @@ VkSharingMode vkDestroyBuffer(device, buffer, nullptr); 图片资源 -########### \ No newline at end of file +########### + +在 ``Vulkan`` 中一个图片资源代表相同格式数据块的多维集合,比如 ``一维/二维/三维`` 图片等。其通过 ``VkImage`` 句柄代表其图片资源,其定义如下: + +.. code:: c++ + + // 由 VK_VERSION_1_0 提供 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) + +创建图片 +**************************** + +图片资源通过 ``vkCreateImage(...)`` 函数创建,其定义如下: + +vkCreateImage +----------------------- + +.. code:: c++ + + // 由 VK_VERSION_1_0 提供 + VkResult vkCreateImage( + VkDevice device, + const VkImageCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkImage* pImage); + +* :bdg-secondary:`device` 要创建图片对应所在的逻辑设备。 +* :bdg-secondary:`pCreateInfo` 图片资源的创建配置信息。 +* :bdg-secondary:`pCreateInfo` 句柄内存分配器。 +* :bdg-secondary:`pImage` 创建的目标图片句柄。 + +其中 ``VkImageCreateInfo`` 定义如下: + +VkImageCreateInfo +----------------------- + +.. code:: c++ + + // 由 VK_VERSION_1_0 提供 + typedef struct VkImageCreateInfo { + VkStructureType sType; + const void* pNext; + VkImageCreateFlags flags; + VkImageType imageType; + VkFormat format; + VkExtent3D extent; + uint32_t mipLevels; + uint32_t arrayLayers; + VkSampleCountFlagBits samples; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t* pQueueFamilyIndices; + VkImageLayout initialLayout; + } VkImageCreateInfo; + +* :bdg-secondary:`sType` 该结构体的类型枚举值, :bdg-danger:`必须` 是 ``VkStructureType::VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO`` 。 +* :bdg-secondary:`pNext` 要么是 ``NULL`` 要么指向其他结构体来扩展该结构体。 +* :bdg-secondary:`flags` 创建该图片资源额外的标志位参数。 +* :bdg-secondary:`imageType` 图片资源的类型。 +* :bdg-secondary:`format` 该图片资源的纹素格式。 +* :bdg-secondary:`extent` 该图片资源(各维度上的)大小。 +* :bdg-secondary:`mipLevels` 多级渐远纹理级别。 +* :bdg-secondary:`arrayLayers` 层级数量。 +* :bdg-secondary:`samples` 采样点数量。 +* :bdg-secondary:`tiling` 瓦片排布。 +* :bdg-secondary:`usage` 该图片资源的用途。 +* :bdg-secondary:`sharingMode` 当该图片会被多个设备队列访问时,该参数用于配置该图片共享模式。 +* :bdg-secondary:`queueFamilyIndexCount` 指定 ``pQueueFamilyIndices`` 数组中元素数量。 +* :bdg-secondary:`pQueueFamilyIndices` 用于指定将会访问该缓存的设备队列(族)。如果共享模式 :bdg-danger:`不是` ``VkSharingMode::VK_SHARING_MODE_CONCURRENT`` (并行访问)将会忽略该数组。 +* :bdg-secondary:`initialLayout` 该图片的初始布局。 + +其中 ``VkImageType`` 定义如下: + +VkImageType +^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code:: c++ + + // Provided by VK_VERSION_1_0 + typedef enum VkImageType { + VK_IMAGE_TYPE_1D = 0, + VK_IMAGE_TYPE_2D = 1, + VK_IMAGE_TYPE_3D = 2, + } VkImageType; + +* :bdg-secondary:`VK_IMAGE_TYPE_1D` 一维图片。 +* :bdg-secondary:`VK_IMAGE_TYPE_2D` 二维图片。 +* :bdg-secondary:`VK_IMAGE_TYPE_3D` 三维图片。 + +其中 ``一维`` 纹理其本质上就是有相同数据块类型的一维数组: + +.. code:: c++ + + // 假如纹素结构如下 + typedef struct TexelFormat + { + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t a; + }R8G8B8A8; + + // VK_IMAGE_TYPE_1D 图片资源可理解为 + TexelFormat images[VkImageCreateInfo.extent.width][1][1]; // 一维图片 + // 等价于 + TexelFormat images[VkImageCreateInfo.extent.width]; // 一维图片 + +其中 ``二维`` 纹理其本质上就是有相同数据块类型的二维数组: + +.. code:: c++ + + // 假如纹素结构如下 + typedef struct TexelFormat + { + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t a; + }R8G8B8A8; + + // VK_IMAGE_TYPE_2D 图片资源可理解为 + TexelFormat images[VkImageCreateInfo.extent.width][VkImageCreateInfo.extent.height][1]; // 二维图片 + // 等价于 + TexelFormat images[VkImageCreateInfo.extent.width][VkImageCreateInfo.extent.height]; // 二维图片 + +其中 ``三维`` 纹理其本质上就是有相同数据块类型的二维数组: + +.. code:: c++ + + // 假如纹素结构如下 + typedef struct TexelFormat + { + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t a; + }R8G8B8A8; + + // VK_IMAGE_TYPE_3D 图片资源可理解为 + TexelFormat images[VkImageCreateInfo.extent.width][VkImageCreateInfo.extent.height][VkImageCreateInfo.extent.depth]; // 三维图片 + +由此可见图片的各维度的大小是由 ``VkImageCreateInfo::extent`` 定义的,其 ``VkExtent3D`` 类型定义如下: + +VkExtent3D +^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code:: c++ + + // 由 VK_VERSION_1_0 提供 + typedef struct VkExtent3D { + uint32_t width; + uint32_t height; + uint32_t depth; + } VkExtent3D; + +* :bdg-secondary:`width` 宽。 +* :bdg-secondary:`height` 高。 +* :bdg-secondary:`depth` 深度。 + +当 ``VkImageCreateInfo::imageType`` 为 ``VkImageType::VK_IMAGE_TYPE_1D`` 时,其大小规则如下: + +* 维度大小使用 ``VkExtent3D::width`` 表示 +* ``VkExtent3D::height`` 固定为 ``1`` +* ``VkExtent3D::depth`` 固定为 ``1`` + +当 ``VkImageCreateInfo::imageType`` 为 ``VkImageType::VK_IMAGE_TYPE_2D`` 时,其大小规则如下: + +* 维度大小使用 ``VkExtent3D::width`` 和 ``VkExtent3D::height`` 表示 +* ``VkExtent3D::depth`` 固定为 ``1`` + +当 ``VkImageCreateInfo::imageType`` 为 ``VkImageType::VK_IMAGE_TYPE_3D`` 时,其大小规则如下: + +* 维度大小使用 ``VkExtent3D::width`` 、 ``VkExtent3D::height`` 和 ``VkExtent3D::depth`` 表示 + +.. note:: 无论是几维图片,在 ``Vulkan`` 看来全部都是 ``三维`` 图片。只不过一维和二维会在固定维度上会坍缩到 ``1`` 。( ``智子`` 表示:来看看我坍缩了几个维度?╭(●`∀´●)╯) \ No newline at end of file diff --git a/searchindex.js b/searchindex.js index e2f1360..7af3926 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["Application/VolumetricCloud", "Application/WebGPUHelloTriangle", "Application/WebGPUImGui", "Application/WebGPUShaderCompiler", "Application/index", "Changelog", "DeviceQueue", "EnvironmentalConfig", "InformalEssay/VK_KHR_buffer_device_address", "InformalEssay/VSCode", "InformalEssay/VulkanForAndroid", "InformalEssay/VulkanKHRRayTracing/ShaderBindingTable", "InformalEssay/VulkanKHRRayTracing/VK_KHR_acceleration_structure", "InformalEssay/VulkanKHRRayTracing/VK_KHR_deferred_host_operations", "InformalEssay/VulkanKHRRayTracing/VK_KHR_ray_tracing_pipeline", "InformalEssay/VulkanKHRRayTracing/VulkanKHRRayTracing", "InformalEssay/index", "Instance", "Introduction", "Literature/NVIDIAVulkanRayTracingTutorial/NVIDIAVulkanRayTracingTutorial", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Animation", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/AnyHitShaders", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/CallableShaders", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Instances", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/IntersectionShader", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/JitterCamera", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/MultipleClosestHitShaders", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/RayQuery", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Reflections", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/glTFScene", "Literature/TheRTXShaderBindingTableThreeWays", "Literature/Vulkan-GuideRayTracing", "Literature/VulkanRayTracingFinalSpecificationRelease", "Literature/index", "Literature/vk_mini_path_tracer", "LogicDevice", "Memory", "Overview", "PhysicalDevice", "Resource", "ResourceAndMemory", "StartFromVulkanSDK", "index", "test"], "filenames": ["Application/VolumetricCloud.md", "Application/WebGPUHelloTriangle.rst", "Application/WebGPUImGui.rst", "Application/WebGPUShaderCompiler.rst", "Application/index.rst", "Changelog.md", "DeviceQueue.rst", "EnvironmentalConfig.rst", "InformalEssay/VK_KHR_buffer_device_address.rst", "InformalEssay/VSCode.rst", "InformalEssay/VulkanForAndroid.rst", "InformalEssay/VulkanKHRRayTracing/ShaderBindingTable.rst", "InformalEssay/VulkanKHRRayTracing/VK_KHR_acceleration_structure.rst", "InformalEssay/VulkanKHRRayTracing/VK_KHR_deferred_host_operations.rst", "InformalEssay/VulkanKHRRayTracing/VK_KHR_ray_tracing_pipeline.rst", "InformalEssay/VulkanKHRRayTracing/VulkanKHRRayTracing.rst", "InformalEssay/index.rst", "Instance.rst", "Introduction.rst", "Literature/NVIDIAVulkanRayTracingTutorial/NVIDIAVulkanRayTracingTutorial.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Animation.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/AnyHitShaders.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/CallableShaders.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Instances.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/IntersectionShader.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/JitterCamera.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/MultipleClosestHitShaders.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/RayQuery.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Reflections.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/glTFScene.rst", "Literature/TheRTXShaderBindingTableThreeWays.rst", "Literature/Vulkan-GuideRayTracing.rst", "Literature/VulkanRayTracingFinalSpecificationRelease.md", "Literature/index.rst", "Literature/vk_mini_path_tracer.rst", "LogicDevice.rst", "Memory.rst", "Overview.rst", "PhysicalDevice.rst", "Resource.rst", "ResourceAndMemory.rst", "StartFromVulkanSDK.rst", "index.rst", "test.rst"], "titles": ["\u4f53\u79ef\u4e91", "WebGPU Hello Triangle", "WebGPU ImGui", "WebGPU Shader Compiler", "\u5e94\u7528", "\u66f4\u65b0\u65e5\u5fd7", "\u8bbe\u5907\u961f\u5217", "\u73af\u5883\u914d\u7f6e", "VK_KHR_buffer_device_address", "Visual Studio Code", "Android \u5e73\u53f0\u9002\u914d", "\u7740\u8272\u5668\u7ed1\u5b9a\u8868", "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations", "VK_KHR_ray_tracing_pipeline", "Vulkan KHR \u5149\u7ebf\u8ffd\u8e2a\u6807\u51c6", "Vulkan \u6807\u51c6", "\u6700\u521d\u4e4b\u7269 VkInstance", "\u4ecb\u7ecd", "NVIDIA Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6559\u7a0b", "\u52a8\u6001\u66f4\u65b0", "\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\uff08Any Hit Shaders\uff09\u6559\u7a0b", "\u53ef\u8c03\u7528\u7740\u8272\u5668", "\u5b9e\u4f8b\u5316", "\u76f8\u4ea4\u7740\u8272\u5668", "\u76f8\u673a\u6296\u52a8\u6297\u952f\u9f7f\u6559\u7a0b", "\u591a\u91cd\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668", "\u5149\u7ebf\u67e5\u8be2", "\u53cd\u5c04", "glTF \u573a\u666f", "RTX \u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u4e09\u79cd\u65b9\u5f0f", "\u5149\u7ebf\u8ffd\u8e2a", "Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6700\u7ec8\u6807\u51c6\u53d1\u5e03", "\u6587\u732e", "Vulkan\u8ff7\u4f60\u8def\u5f84\u8ffd\u8e2a", "\u903b\u8f91\u8bbe\u5907", "\u5185\u5b58", "\u7eb5\u89c8", "\u7269\u7406\u8bbe\u5907", "\u8d44\u6e90", "\u8d44\u6e90\u4e0e\u5185\u5b58", "\u5f00\u59cb\u4e8e Vulkan SDK", "\u6b22\u8fce\u6765\u5230 Vulkan \u5165\u95e8\u7cbe\u8981", "Test"], "terms": {"2023": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 41, 42], "19": [0, 4, 12, 13, 15, 19, 36, 37, 42], "turbo": [0, 3, 42], "volumetriccloud": 0, "gpu": [0, 11, 12, 17, 18, 19, 20, 24, 25, 26, 28, 31, 36, 39], "pro": 0, "revis": 0, "2013": 0, "real": 0, "time": [0, 11, 12, 14, 20, 25, 37], "volumetr": 0, "cours": [0, 43], "note": [0, 23, 32, 43], "cloud": 0, "physic": [0, 8, 37], "base": [0, 19, 41], "ii": 0, "billboard": 0, "blender": 0, "3dmax": 0, "ken": 0, "steven": 0, "sin": [0, 20, 29, 43], "ax": 0, "cos": [0, 20, 29], "jx": 0, "shadertoy": 0, "hash33": 0, "defin": [0, 17, 19, 21, 22, 23, 24, 29, 32, 36, 37, 41], "ui0": 0, "1597334673u": 0, "ui1": 0, "3812015801u": 0, "ui2": 0, "uvec2": 0, "ui3": 0, "uvec3": 0, "2798796415u": 0, "uif": 0, "float": [0, 11, 12, 19, 20, 22, 23, 24, 25, 27, 28, 29, 35, 36, 37, 38, 39, 43], "0xffffffffu": 0, "vec3": [0, 11, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29], "ivec3": [0, 19], "return": [0, 10, 19, 21, 24, 25, 29, 36, 37, 43], "gradientnois": 0, "freq": 0, "floor": 0, "fract": 0, "iq": 0, "15": [0, 11, 12, 18, 29, 32, 33, 34, 36, 37, 42], "10": [0, 9, 15, 20, 22, 24, 25, 27, 28, 32, 33, 36, 37, 41, 42, 43], "ga": 0, "mod": 0, "gb": [0, 37], "gc": 0, "gd": 0, "ge": 0, "gf": 0, "gg": 0, "gh": 0, "va": 0, "dot": [0, 19, 22, 24, 29], "vb": 0, "vc": 0, "vd": 0, "ve": 0, "vf": 0, "vg": 0, "vh": 0, "hurst": 0, "expon": 0, "octav": 0, "perlinworleynoisetest": 0, "in": [0, 19, 29, 31, 37, 43], "vecn": 0, "numoctav": 0, "for": [0, 6, 10, 19, 20, 23, 24, 25, 28, 29, 32, 35, 37, 38], "int": [0, 10, 11, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 36, 43], "pow": 0, "perlinfbm": 0, "exp2": 0, "85": 0, "amp": 0, "27": [0, 3, 19, 36, 37, 39], "worleynois": 0, "uv": [0, 5, 39], "id": [0, 12, 19, 24, 29, 37, 38], "mindist": 0, "10000": [0, 19], "offset": [0, 12, 19, 20, 24, 29, 32, 36, 37], "min": [0, 19, 21, 24, 28, 29, 36], "worleyfbm": 0, "625": 0, "25": [0, 3, 7, 17, 19, 21, 25, 37], "125": 0, "lx": 0, "ly": 0, "ymin": 0, "result": [0, 12, 17, 19, 35, 36, 37, 39], "xmin": 0, "xmax": 0, "ymax": 0, "128": 0, "r8g8b8a8": 0, "perlinworley": 0, "vec4": [0, 19, 22, 25, 26, 28, 29], "color": [0, 19, 26, 36, 37, 39], "mix": [0, 25, 29], "perlin_fbm": 0, "abs": [0, 20, 24, 29], "pfbm": 0, "32": [0, 11, 12, 19, 28, 29, 31, 32, 37, 41], "r8g8b8": 0, "rgb": [0, 26], "worleyfbm3dnois": 0, "bloom": 0, "hdr": 0, "cpu": [0, 12, 18, 19, 20, 31, 32, 36, 38, 39], "camerapo": 0, "forwarddir": 0, "near": 0, "fov": [0, 25, 29], "aspect": 0, "ab": 0, "width": [0, 11, 19, 22, 37], "height": [0, 11, 19, 22, 37], "raydir": [0, 19, 21, 28], "pixelworldpo": 0, "cameraworldpo": 0, "vec": 0, "pixelrelativecameraworldpo": 0, "mid": 0, "camerarightdir": 0, "cameraupdir": 0, "camerrightdir": 0, "camerupdir": 0, "updir": 0, "ndc": 0, "normal": [0, 19, 20, 22, 24, 28, 29, 37, 39, 43], "devic": [0, 8, 14, 17, 19, 31, 35, 36, 38, 39, 41, 42], "coordin": [0, 19], "ndcp": 0, "fraguv": 0, "ndcw": 0, "frac": [0, 43], "halfwidth": 0, "halfheight": 0, "tan": 0, "layout": [0, 14, 19, 20, 21, 22, 24, 26, 27], "push_const": [0, 19, 20, 22], "uniform": [0, 8, 19, 20, 22, 25, 27], "my_push_constants_t": 0, "resolutionx": 0, "resolutioni": 0, "cameraposx": 0, "cameraposi": 0, "cameraposz": 0, "lookforwarddirx": 0, "lookforwarddiri": 0, "lookforwarddirz": 0, "my_push_const": 0, "pi": [0, 20], "1415926": 0, "void": [0, 6, 8, 10, 11, 12, 14, 17, 19, 20, 21, 22, 24, 25, 26, 27, 29, 35, 36, 37, 38, 39, 41], "main": [0, 7, 10, 20, 21, 22, 23, 24, 25, 28, 29], "itim": [0, 20], "vec2": [0, 19, 25], "iresolut": 0, "fragcoord": 0, "lookforwarddir": 0, "rightdir": 0, "cross": [0, 29], "screen_ndc": 0, "corrdin": 0, "horizontalfov": 0, "60": 0, "screenhalfwidth": 0, "screenhalfheight": 0, "pixel_po": 0, "camerpo": 0, "outcolor": 0, "raymarchingtest": 0, "struct": [0, 6, 8, 10, 11, 12, 14, 17, 19, 21, 22, 24, 25, 26, 28, 29, 35, 36, 37, 38, 39, 41], "vertexdata": [0, 12, 19, 29], "pos": [0, 19, 20], "corner0_ray_dir": 0, "cal_ray": 0, "corner1_ray_dir": 0, "symmetr": 0, "corner2_ray_dir": 0, "corner3_ray_dir": 0, "vector": [0, 6, 17, 19, 20, 24, 26, 27, 35, 36, 37, 38, 39], "vertex_data": 0, "push_back": [0, 17, 19, 20, 21, 22, 23, 24, 26, 29, 35, 36, 37, 39], "context": [0, 18, 19], "bindvertexbuff": 0, "vertex": [0, 3, 19, 20, 21, 29, 39], "shader": [0, 4, 5, 20, 25, 26, 31, 42], "out": [0, 19, 23, 29, 43], "vertexshad": 0, "fragment": 0, "fragmentshad": 0, "pixel_ray_dir": 0, "someresult": 0, "origin": [0, 11, 19, 21, 24, 27, 28, 29, 31], "dir": 0, "const": [0, 8, 10, 11, 12, 14, 17, 19, 20, 24, 25, 27, 29, 35, 36, 39, 41], "maxstep": 0, "max_step_count": 0, "step": 0, "step_length": 0, "distanc": 0, "do_something_at_point": 0, "halfdiagon": 0, "halfstrip": 0, "strip": 0, "length": [0, 19, 20, 22], "posit": [0, 25, 29, 36, 37, 39], "forward": 0, "boundingbox": 0, "halfdiagonalvector": 0, "rayorigin": [0, 28, 29], "point": [0, 22, 25, 43], "left": [0, 43], "begin": 0, "array": [0, 19], "end": 0, "right": [0, 43], "o_x": 0, "r_x": 0, "o_i": 0, "r_i": 0, "o_z": 0, "r_z": 0, "i_x": 0, "p_x": 0, "i_i": 0, "p_i": 0, "i_z": 0, "p_z": 0, "n_x": 0, "n_i": 0, "n_z": 0, "surfac": 0, "bool": [0, 19, 21, 25, 37], "calraysurafaceintersectdist": 0, "surfacepoint": 0, "surfacenorm": 0, "if": [0, 6, 9, 10, 12, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 31, 35, 36, 37, 38, 39, 43], "fals": [0, 10, 19, 21, 25, 27, 37, 43], "surface_norm": 0, "ray_dir": 0, "true": [0, 10, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 31, 37, 43], "boudingboxorthogonalbasi": 0, "up": [0, 43], "getboundingboxorthogonalbasi": 0, "boundingboxs": 0, "glsl": [0, 3, 20, 21, 22, 24, 25, 26, 29, 31, 32, 41], "getboundingboxs": 0, "half_diagonal_vector": 0, "ispointinboundingbox": 0, "bounding_box_po": 0, "bounding_box_to_point_vector": 0, "bounding_box_orthogonal_basi": 0, "bounding_box_s": 0, "bounding_box_forward": 0, "bounding_box_up": 0, "bounding_box_right": 0, "project_bounding_box_forward_length": 0, "project_bounding_box_up_length": 0, "project_bounding_box_right_length": 0, "bounding_box_half_width": 0, "bounding_box_half_height": 0, "bounding_box_half_strip": 0, "https": [0, 19, 25, 29, 32], "www": [0, 19, 25, 32], "bilibili": 0, "com": [0, 7, 10, 19, 20, 25, 32], "video": 0, "bv1mg4y1z7ji": 0, "spm_id_from": 0, "333": 0, "999": 0, "bv1224y117nt": 0, "little_compens": 0, "0005": 0, "boudingboxsurfac": 0, "positiveforwardsurfac": 0, "negativeforwardsurfac": 0, "positiveupsurfac": 0, "negativeupsurfac": 0, "positiverightsurfac": 0, "negativerightsurfac": 0, "getboundingboxsurfac": 0, "bouding_box_orthogonal_basi": 0, "positive_forward_surface_norm": 0, "positive_forward_surface_point": 0, "negative_forward_surface_norm": 0, "negative_forward_surface_point": 0, "positive_up_surface_norm": 0, "positive_up_surface_point": 0, "negative_up_surface_norm": 0, "negative_up_surface_point": 0, "positive_right_surface_norm": 0, "positive_right_surface_point": 0, "negative_right_surface_norm": 0, "negative_right_surface_point": 0, "la": 0, "lb": 0, "lc": 0, "boundingboxintersect": 0, "firstinterectionpo": 0, "secondinterectionpo": 0, "intersect": [0, 14, 19, 24, 31], "bounding_box_surfac": 0, "ray_origin_to_positive_forward_surface_dist": 0, "is_positive_forward_surface_intersect": 0, "ray_origin_to_negative_forward_surface_dist": 0, "is_negative_forward_surface_intersect": 0, "ray_origin_to_positive_up_surface_dist": 0, "is_positive_up_surface_intersect": 0, "ray_origin_to_negative_up_surface_dist": 0, "is_negative_up_surface_intersect": 0, "ray_origin_to_positive_right_surface_dist": 0, "is_positive_right_surface_intersect": 0, "ray_origin_to_negative_right_surface_dist": 0, "is_negative_right_surface_intersect": 0, "positive_forward_surface_intersect": 0, "is_point_in_bounding_box": 0, "negative_forward_surface_intersect": 0, "positive_up_surface_intersect": 0, "negative_up_surface_intersect": 0, "positive_right_surface_intersect": 0, "negative_right_surface_intersect": 0, "uint": [0, 11, 19, 21, 25, 29], "intersection_count": 0, "origin_to_surface_dist": 0, "index": [0, 6, 37], "min_dist": 0, "max_dist": 0, "max": [0, 6, 19, 21, 24, 25, 28, 29, 37], "raymarchingboundingboxtest": 0, "raymarchingboundingbox": 0, "is_intersect": 0, "start_po": 0, "end_po": 0, "max_step": 0, "getsamplepointposit": 0, "lower_right_corner_po": 0, "lower_right_corner_to_point": 0, "lower_right_corner_strip_dir": 0, "lower_right_corner_up_dir": 0, "lower_right_corner_width_dir": 0, "project_strip": 0, "project_height": 0, "project_width": 0, "sample_point": 0, "gif": 0, "set": [0, 9, 21, 24, 33], "bind": [0, 20, 21, 24, 27], "texture3d": 0, "perlinworleynois": 0, "sampler": 0, "mysampl": 0, "textur": [0, 19, 29], "sampler3d": 0, "yzw": 0, "perlin_worley": 0, "worly_fbm": 0, "coverag": 0, "hash": 0, "12": [0, 15, 26, 28, 31, 32, 33, 37, 41], "256": [0, 12, 19], "646": 0, "356": 0, "radianc": 0, "exp": 0, "raymarchingperlinworleynois": 0, "product": 0, "siggraph": 0, "2017": [0, 18], "2011": 0, "wrenning": 0, "2012": 0, "renderman": 0, "arnold": 0, "hyperion": 0, "x_t": 0, "tw": 0, "sigma_a": 0, "absorpt": 0, "coeffici": 0, "sigma_": 0, "sigma_t": 0, "alpha": 0, "2016": [0, 18], "sky": 0, "atmospher": 0, "and": [0, 23, 31, 37, 41], "frostbit": 0, "rho": 0, "f_p": 0, "phase": 0, "function": [0, 37, 43], "xi": 0, "zeta": 0, "lumin": 0, "l_d": 0, "x_d": 0, "l_e": 0, "l_s": 0, "sigma": 0, "the": [0, 19, 23, 25, 29, 31, 37, 42], "unit": 0, "of": [0, 19, 23, 37, 42, 43], "collis": 0, "is": [0, 23, 37], "invers": 0, "mean": [0, 43], "free": [0, 36], "path": [0, 41], "lambda": [0, 19], "theta": [0, 22, 43], "int_": 0, "tag": 0, "bsdf": 0, "bidirect": 0, "distribut": 0, "isotrop": 0, "anisotrop": 0, "mie": 0, "solut": [0, 7], "maxwel": 0, "rayleigh": 0, "henyey": 0, "greenstein": 0, "1941": 0, "2gcos": 0, "attenu": [0, 19, 28], "rte": 0, "equilibrium": 0, "field": [0, 43], "cdot": 0, "nabla": [0, 43], "pbrt": 0, "from": [0, 43], "theori": 0, "to": [0, 3, 19, 27, 37, 42, 43], "implement": 0, "dw": 0, "can": [0, 23, 43], "be": [0, 43], "direct": [0, 7, 11, 19, 21, 22, 24, 27, 28, 29, 31], "use": [0, 23, 24, 43], "finit": 0, "element": [0, 43], "method": 0, "such": 0, "as": [0, 19, 43], "radios": 0, "cohen": 0, "et": 0, "al": 0, "1993": 0, "more": [0, 23], "general": [0, 7, 19], "but": 0, "not": [0, 23, 31], "trace": [0, 14, 19, 32], "provid": [0, 12, 14, 36, 37], "this": [0, 10, 23, 36, 37], "formul": 0, "vre": 0, "x_s": 0, "ds": 0, "dt": 0, "sw": 0, "11": [0, 15, 22, 29, 32, 33, 41, 42], "transmitt": [0, 19], "big": 0, "t_d": 0, "mont": 0, "carlo": 0, "russian": 0, "roulett": 0, "reject": 0, "sampl": [0, 19, 29, 31, 37, 43], "transform": [0, 12, 20, 24, 26, 29], "ulam": 0, "homogen": 0, "cumul": 0, "analyt": 0, "invert": 0, "13": [0, 12, 15, 26, 33], "fight": 0, "estim": 0, "14": [0, 8, 11, 12, 14, 15, 18, 23, 33, 36, 37, 42], "ln": 0, "24": [1, 2, 4, 12, 19, 21, 25, 29, 36, 37], "26": [3, 19, 29, 36, 37], "28": [3, 17, 19, 29, 37, 39, 41], "29": [3, 19, 25, 37, 39, 41], "31": [3, 9, 18, 19, 21, 41, 42], "pureccppwebshadercompil": 3, "webshad": 3, "juli": 3, "miss": [3, 11, 14, 31], "callabl": [3, 11, 14, 19, 32], "task": 3, "mesh": 3, "bug": 3, "hlsl": [3, 32, 41], "msl": 3, "reflect": [3, 28, 29], "tessel": 3, "control": 3, "evalu": 3, "geometri": [3, 12, 19, 24, 29], "comput": 3, "convert": 3, "spir": [3, 12, 19, 31, 32, 35], "languag": 3, "binari": 3, "disassembl": 3, "spirv": [3, 41], "tool": [3, 32, 41], "target": [3, 19, 43], "ctrl": 3, "code": [3, 5, 7, 42, 43], "viewer": 3, "editor": [3, 9], "edit": [3, 7], "past": 3, "type": [3, 10, 12, 14, 19, 20, 21, 22, 24, 26, 32], "client": 3, "consol": 3, "vulkan": [3, 5, 6, 10, 12, 14, 17, 20, 21, 22, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 38, 39], "api": [3, 10, 12, 15, 17, 18, 19, 23, 31, 32, 41, 42], "wgsl": 3, "includ": [3, 7, 10, 19, 20, 21, 22, 23, 24, 25, 26, 29, 36, 37, 43], "webgpu": [4, 5, 42], "imgui": [4, 5, 19, 23, 25, 28, 42], "hello": [4, 5, 42], "triangl": [4, 5, 12, 19, 29, 42], "compil": [4, 5, 42], "vkinstanc": [5, 36, 38, 41, 42, 43], "sourc": [5, 7, 10, 41, 43], "_static": 5, "css": 5, "custom_cont": 5, "custom_sidebar_draw": 5, "sdk": [5, 10, 19, 37, 42], "gltf": [5, 19], "visual": [5, 7, 19, 26, 41, 42], "studio": [5, 7, 10, 19, 26, 41, 42], "nvidia": [5, 12, 23, 24, 32, 33, 35, 37, 42], "android": [5, 17, 41, 42], "khr": [5, 8, 12, 16, 17, 19, 42], "ani": [5, 14, 19, 31, 43], "hit": [5, 11, 14, 19, 24, 26, 31], "vk_khr_ray_tracing_pipelin": [5, 11, 15, 16, 19, 32, 33, 35], "shadercompil": 5, "imguitest": 5, "hellotriangl": 5, "pv": 5, "vk_khr_buffer_device_address": [5, 12, 16, 32, 35, 42], "vk_khr_acceleration_structur": [5, 14, 15, 16, 19, 32, 33, 35], "vk_khr_deferred_host_oper": [5, 12, 14, 15, 16, 32, 33], "rtx": [5, 19, 33, 42], "sphinx_design": 5, "sphinx": 5, "readm": 5, "hypothesi": 5, "applic": [5, 23, 37], "sphinx_last_updated_by_git": 5, "github": [5, 7, 24, 32], "workflow": 5, "releas": [5, 10, 32], "yml": 5, "conf": 5, "py": 5, "literatur": 5, "guideraytrac": 5, "rst": 5, "markdowntest": 5, "md": 5, "markdown": 5, "mermaid": 5, "test": 5, "restructuredtext": 5, "furo": 5, "2024": [6, 17, 35, 36, 37, 38, 39, 40, 41, 42], "vk_version_1_0": [6, 17, 35, 36, 37, 38, 39], "vkphysicaldevic": [6, 12, 19, 35, 36, 37, 38, 41, 43], "physicaldevic": [6, 12, 35, 36, 38, 41], "uint32_t": [6, 10, 11, 12, 14, 17, 20, 23, 24, 26, 29, 35, 36, 37, 38, 39, 41], "pqueuefamilypropertycount": [6, 37], "pqueuefamilyproperti": [6, 37], "nunllptr": 6, "physical_devic": [6, 35, 37, 38, 43], "queue_family_property_count": 6, "nullptr": [6, 12, 17, 19, 20, 35, 36, 37, 38, 39], "std": [6, 17, 19, 20, 23, 24, 26, 28, 35, 36, 37, 38, 39], "queue_family_properti": 6, "data": [6, 10, 12, 17, 19, 20, 24, 26, 29, 32, 35, 36, 37, 38], "typedef": [6, 8, 11, 12, 14, 17, 19, 35, 36, 37, 38, 39, 41], "vkqueueflag": 6, "queueflag": [6, 37], "queuecount": [6, 35, 37], "timestampvalidbit": [6, 37], "vkextent3d": 6, "minimagetransfergranular": [6, 37], "36": [6, 37], "64": [6, 8, 15, 37, 41], "vkqueueflagbit": 6, "enum": [6, 12, 14, 19, 21, 22, 24, 26, 36, 37, 38, 39], "vk_queue_graphics_bit": 6, "0x00000001": [6, 12, 36, 37, 39], "vk_queue_compute_bit": [6, 37], "0x00000002": [6, 12, 36, 37, 39], "vk_queue_transfer_bit": [6, 37], "0x00000004": [6, 12, 36, 37, 39], "vk_queue_sparse_binding_bit": [6, 37], "0x00000008": [6, 12, 36, 37, 39], "vk_version_1_1": [6, 37], "vk_queue_protected_bit": [6, 37], "0x00000010": [6, 12, 36, 37, 39], "queue_family_count": [6, 37], "queue_famili": [6, 37], "uint32_max": [6, 37], "numeric_limit": [6, 37], "break": [6, 10, 28, 35, 37, 38], "throw": [6, 17, 19, 35, 36, 37, 38, 39], "runtime_error": [6, 17, 19, 35, 36, 37, 38, 39], "22": [7, 19, 20, 37, 41, 42], "window": [7, 17, 19, 36, 37, 41], "khrono": [7, 17, 32, 41, 42], "download": [7, 41], "zip": [7, 10], "clone": [7, 19], "khronosgroup": [7, 31], "2019": [7, 19], "project": [7, 19, 41], "name": [7, 10, 37, 43], "locat": [7, 21, 22, 26, 28, 29, 32], "creat": [7, 22, 23, 26], "explor": 7, "view": [7, 19], "file": [7, 43], "add": [7, 43], "new": [7, 10, 36, 37], "item": [7, 43], "cpp": [7, 10, 19, 20, 24, 25, 28, 29, 43], "properti": [7, 41], "configur": 7, "addit": 7, "debug": 7, "x64": [7, 19], "ok": 7, "appli": 7, "linux": [7, 17, 19, 36, 37, 41], "20": [8, 16, 19, 20, 23, 24, 25, 26, 32, 37, 41], "21": [8, 12, 14, 19, 20, 27, 36, 37, 41], "vk_khr_get_physical_device_properties2": [8, 12, 14], "instanc": [8, 12, 14, 17, 19, 20, 24, 36, 37, 38, 43], "vk_khr_device_group": [8, 12], "vk_khr_device_group_cr": [8, 12], "vkphysicaldevicebufferdeviceaddressfeatureskhr": 8, "bufferdeviceaddress": [8, 32], "vk_version_1_2": [8, 12], "vkdeviceaddress": [8, 11, 12, 19, 24, 29], "vkdevic": [8, 12, 14, 35, 36, 37, 39], "pinfo": [8, 12], "buffer": [8, 11, 12, 14, 19, 20, 21, 24, 26, 29, 32, 37, 39], "spv_khr_physical_storage_buff": 8, "physicalstoragebuff": 8, "null": [8, 10, 12, 14, 17, 19, 35, 36, 37, 38, 39], "vkbufferopaquecaptureaddresscreateinfo": 8, "opaquecaptureaddress": 8, "vkmemoryrequir": 8, "align": [8, 12, 19, 24, 36, 37], "vkbuffer": [8, 11, 12, 29, 32, 37, 39], "vkdevicememori": [8, 12, 19, 36, 37], "bufferdeviceaddressmultidevic": [8, 12], "vkstructuretyp": [8, 12, 14, 17, 35, 36, 37, 39, 41], "stype": [8, 12, 14, 17, 35, 36, 39, 41], "pnext": [8, 12, 14, 17, 19, 32, 35, 36, 39, 41], "vk_structure_type_buffer_device_address_info": [8, 19, 20], "vk_buffer_create_device_address_capture_replay_bit": [8, 12], "vk_buffer_usage_shader_device_address_bit": [8, 12, 19, 20, 24, 29], "storag": [8, 26], "access": 8, "uint64_t": [8, 10, 12, 29, 37], "memori": [8, 19, 23, 36], "vk_structure_type_device_memory_opaque_capture_address_info": 8, "workbench": 9, "reveal": 9, "open": 9, "23": [10, 19, 32, 36, 37, 41, 42], "jetpack": 10, "ndk": 10, "java": [10, 37], "aar": 10, "prefab": 10, "modul": [10, 19, 20, 21, 22, 24, 26, 43], "text": [10, 43], "input": [10, 19, 24, 29, 43], "gametextinput": 10, "cmakelist": 10, "txt": 10, "libandroid": 10, "so": [10, 37, 41], "find_packag": 10, "requir": [10, 19, 20, 21, 24, 26], "config": [10, 41], "target_link_librari": 10, "extern": 10, "native_app_glu": 10, "android_native_app_glu": 10, "android_app": 10, "state": 10, "app": 10, "nativeengin": 10, "engin": 10, "gameloop": 10, "delet": [10, 37], "nativeappglueappcmd": 10, "onappcmd": 10, "mapp": 10, "userdata": 10, "textinputst": 10, "while": [10, 20, 27, 29, 37], "event": 10, "android_poll_sourc": 10, "isanim": 10, "alooper_pollal": 10, "process": [10, 43], "destroyrequest": 10, "dofram": 10, "android_app_set_motion_event_filt": 10, "android_app_set_key_event_filt": 10, "source_touchscreen": 10, "android_app_swap_input_buff": 10, "android_input_buff": 10, "motioneventscount": 10, "keyeventscount": 10, "motionev": 10, "inputbuff": 10, "gameactivitymotionev": 10, "pointercount": 10, "action": 10, "actionmask": 10, "amotion_event_action_mask": 10, "pointerindex": 10, "gameactivity_max_num_pointers_in_motion_ev": 10, "cookedev": 10, "ev": 10, "memset": 10, "sizeof": [10, 19, 20, 24, 25, 26, 29, 36, 37, 39], "motionisonscreen": 10, "ainput_source_touchscreen": 10, "motionminx": 10, "0f": [10, 20, 21, 23, 25, 29, 35, 37, 43], "motionmaxx": 10, "scenemanag": 10, "getinst": 10, "getscreenwidth": 10, "motionmini": 10, "motionmaxi": 10, "getscreenheight": 10, "switch": [10, 37], "case": [10, 23, 37, 43], "amotion_event_action_down": 10, "cooked_event_type_pointer_down": 10, "amotion_event_action_pointer_down": 10, "amotion_event_action_pointer_index_mask": 10, "amotion_event_action_pointer_index_shift": 10, "amotion_event_action_up": 10, "cooked_event_type_pointer_up": 10, "amotion_event_action_pointer_up": 10, "amotion_event_action_mov": 10, "cooked_event_type_pointer_mov": 10, "_cookeventforpointerindex": 10, "callback": 10, "default": [10, 21, 41, 43], "android_app_clear_motion_ev": 10, "dcmake_toolchain_fil": 10, "build": [10, 19], "toolchain": 10, "dandroid_abi": 10, "abi": 10, "dandroid_platform": 10, "minsdkvers": 10, "other_arg": 10, "armeabi": 10, "v7a": 10, "with": [10, 43], "neon": 10, "dandroid_arm_neon": 10, "on": [10, 21, 43], "arm64": 10, "v8a": 10, "x86": 10, "x86_64": [10, 41], "android_native_api_level": 10, "android_platform": 10, "r20": 10, "16": [10, 12, 18, 19, 22, 24, 25, 35, 36, 37, 39, 41, 42], "android23": 10, "ninja": 10, "gninja": 10, "import": [10, 43], "googl": 10, "androidgamesdk": 10, "public": [10, 43], "class": [10, 43], "yourgameact": 10, "extend": [10, 37], "endlesstunnelact": 10, "static": [10, 25, 29, 37], "androidmanifect": 10, "xml": [10, 41], "system": [10, 43], "loadlibrari": 10, "libmain": 10, "androidmanifest": 10, "meta": [10, 36], "lib_nam": 10, "valu": [10, 43], "vkcmdtraceraysnv": 11, "vkcmdtracerayskhr": [11, 14, 19, 22, 31, 32], "vkcmdtraceraysindirectkhr": [11, 14, 31, 32], "vkraytracingpipelinecreateinfokhr": [11, 15, 19, 26, 31], "pgroup": [11, 14, 19], "vkgetraytracingshadergrouphandleskhr": [11, 15, 19], "handl": [11, 19, 37], "uint8_t": [11, 12, 19, 37, 38, 41], "vkphysicaldeviceraytracingpipelinepropertieskhr": [11, 15, 19, 27], "shadergrouphandles": [11, 14, 19, 26], "group": [11, 14, 19, 21, 22, 24, 26], "rg": 11, "shadow": [11, 31], "vkcommandbuff": [11, 12, 14, 19, 20, 29, 37], "commandbuff": [11, 12, 14, 18, 19, 37], "vkstrideddeviceaddressregionkhr": [11, 19, 22, 32], "praygenshaderbindingt": 11, "pmissshaderbindingt": [11, 19], "phitshaderbindingt": [11, 19], "pcallableshaderbindingt": [11, 19], "depth": [11, 19, 28, 37], "deviceaddress": [11, 12, 19, 20, 24, 29], "vkdevices": [11, 12, 14, 19, 36, 38, 39], "stride": [11, 12, 19, 24, 26], "size": [11, 12, 17, 19, 20, 24, 26, 29, 32, 35, 36, 37, 39], "shadergrouphandlealign": [11, 14, 19, 26], "shadergroupbasealign": [11, 14, 19], "tracerayext": [11, 19, 25, 26, 28, 29, 31, 32], "accelerationstructureext": [11, 19, 27, 32], "toplevel": [11, 19], "rayflag": [11, 19, 21, 28, 29], "cullmask": [11, 19, 21, 28, 29, 31], "sbtrecordoffset": [11, 19, 21, 26, 28, 29], "sbtrecordstrid": [11, 19, 21, 28, 29], "missindex": [11, 19, 21, 28, 29], "tmin": [11, 19, 21, 24, 27, 29, 31], "tmax": [11, 19, 21, 24, 27, 29, 31], "payload": [11, 14, 19, 21, 28, 29, 32], "vkaccelerationstructureinstancekhr": [11, 15, 19, 20, 23, 24, 29], "instanceshaderbingdingtablerecordoffset": 11, "instanceshaderbindingtablerecordoffset": [11, 12, 19, 20, 24, 26, 29], "geometryindex": 11, "executecallableext": [11, 22], "sbtrecordindex": 11, "vkaccelerationstructurekhr": [12, 19, 27, 32], "bvh": 12, "vk_ext_descriptor_index": [12, 32], "vk_khr_maintenance3": 12, "vkcmdbuildaccelerationstructuresindirectkhr": [12, 32], "vkgetphysicaldevicefeatures2": [12, 14], "vkphysicaldevicefeatures2": [12, 14], "pfeatur": [12, 35], "vkgetphysicaldevicefeatures2khr": 12, "vkphysicaldeviceaccelerationstructurefeatureskhr": [12, 19], "vkphysicaldevicefeatur": [12, 37], "featur": 12, "vkbool32": [12, 14, 35, 37, 38], "accelerationstructur": [12, 32], "accelerationstructurecapturereplay": [12, 32], "accelerationstructureindirectbuild": [12, 32], "accelerationstructurehostcommand": [12, 32], "descriptorbindingaccelerationstructureupdateafterbind": [12, 32], "vk_descriptor_binding_update_after_bind_bit": 12, "vk_descriptor_type_acceleration_structure_khr": [12, 19, 27], "vk_physical_devic": 12, "vk_physical_device_acceleration_structure_features_khr": 12, "vk_structure_type_physical_device_acceleration_structure_features_khr": [12, 19], "vk_fals": [12, 14], "vk_physical_device_features_2": 12, "vk_structure_type_physical_device_features_2": 12, "vkdevicecreateinfo": [12, 14, 19], "vk_device_create_info": 12, "vk_structure_type_device_create_info": [12, 35, 37], "vk_devic": 12, "vk_null_handl": [12, 14, 17, 19, 35, 36, 38, 39, 43], "vkresult": [12, 14, 17, 31, 35, 36, 37, 38, 39, 41], "vkcreatedevic": [12, 19, 36], "vk_success": [12, 17, 19, 31, 35, 36, 38, 39], "top": [12, 19], "level": [12, 19, 37], "acceler": [12, 19, 21, 28, 29, 31, 33], "structur": [12, 14, 19, 21, 28, 29, 31, 33, 43], "bottom": [12, 19], "aabb": [12, 19, 24, 32], "axi": [12, 24], "bound": [12, 24], "box": [12, 24], "flag": [12, 14, 17, 19, 20, 21, 24, 29, 31, 36, 37, 39, 41], "nan": 12, "ieee": 12, "754": 12, "2008": 12, "quiet": 12, "signal": 12, "instanceid": 12, "primitiveid": 12, "vkbuildaccelerationstructureflagskhr": [12, 19, 20], "mode": [12, 19, 20], "srcaccelerationstructur": [12, 19, 20], "dstaccelerationstructur": [12, 19, 20], "geometrycount": [12, 19, 20], "pgeometri": [12, 19, 20, 32], "ppgeometri": [12, 32], "scratchdata": [12, 19, 20], "vk_structure_type_acceleration_structure_build_geometry_info_khr": [12, 19, 20], "vk_build_acceleration_structure_mode_update_khr": [12, 19, 20], "dst": [12, 19], "scratch": [12, 19], "raygeometryindexkhr": 12, "oprayquerygetintersectiongeometryindexkhr": 12, "vk_acceleration_structure_type_top_level_khr": [12, 19, 32], "geometrytyp": [12, 19, 24, 29], "vk_geometry_type_instances_khr": [12, 19], "vk_acceleration_structure_type_bottom_level_khr": [12, 19, 20, 32], "vkphysicaldeviceaccelerationstructurepropertieskhr": [12, 19], "maxgeometrycount": 12, "vk_geometry_type_aabbs_khr": [12, 24], "maxprimitivecount": [12, 19, 29], "vk_geometry_type_triangles_khr": [12, 19, 29], "vk_build_acceleration_structure_prefer_fast_trace_bit_khr": [12, 19, 20, 24], "vk_build_acceleration_structure_prefer_fast_build_bit_khr": [12, 20], "vk_build_acceleration_structure_allow_update_bit_khr": [12, 20], "vk_build_acceleration_structure_allow_compaction_bit_khr": [12, 19], "vk_build_acceleration_structure_low_memory_bit_khr": 12, "vk_khr_ray_tracing_position_fetch": 12, "vk_build_acceleration_structure_allow_data_access_khr": 12, "0x00000800": 12, "vk_copy_acceleration_structure_mode_compact_khr": [12, 19], "vk_build_acceleration_structure_mode_build_khr": [12, 19], "union": [12, 19], "hostaddress": [12, 19], "vkgeometryflagskhr": 12, "vk_structure_type_acceleration_structure_geometry_khr": [12, 19, 24, 29], "vk_geometry_opaque_bit_khr": [12, 19, 21, 24], "vk_geometry_no_duplicate_any_hit_invocation_bit_khr": [12, 21, 29], "vkformat": 12, "vertexformat": [12, 19, 29], "vertexstrid": [12, 19, 29], "maxvertex": [12, 19, 29], "vkindextyp": 12, "indextyp": [12, 19, 29], "indexdata": [12, 19, 29], "transformdata": [12, 19, 29], "vk_structure_type_acceleration_structure_geometry_triangles_data_khr": [12, 19, 29], "vkvertexinputbindingdescript": 12, "maxvertexinputbindingstrid": [12, 38], "vk_format_feature_acceleration_structure_vertex_buffer_bit_khr": 12, "matrix": 12, "times4": 12, "times3": 12, "vk_structure_type_acceleration_structure_geometry_aabbs_data_khr": [12, 24], "minx": 12, "mini": 12, "minz": 12, "maxx": 12, "maxi": 12, "maxz": 12, "arrayofpoint": 12, "vk_structure_type_acceleration_structure_geometry_instances_data_khr": [12, 19], "vk_true": [12, 14, 35, 37], "instancecustomindex": [12, 19, 20, 24, 29], "mask": [12, 19, 20, 24, 29], "vkgeometryinstanceflagskhr": [12, 19], "accelerationstructurerefer": [12, 19, 20, 24, 29], "instancecustomindexkhr": 12, "cull": [12, 19], "vk_geometry_instance_triangle_facing_cull_disable_bit_khr": [12, 19, 20, 24, 29], "vk_geometry_instance_triangle_flip_facing_bit_khr": 12, "vk_geometry_instance_force_opaque_bit_khr": 12, "vk_geometry_instance_force_no_opaque_bit_khr": 12, "vk_geometry_instance_triangle_front_counterclockwise_bit_khr": 12, "object": [12, 19, 23, 24, 37], "space": [12, 43], "noopaquekhr": 12, "buildtyp": 12, "pbuildinfo": 12, "pmaxprimitivecount": [12, 32], "psizeinfo": 12, "vkimag": [12, 37], "accelerationstructures": [12, 19, 31, 32], "vk_acceleration_structure_build_type_host_khr": 12, "vk_acceleration_structure_build_type_host_or_device_khr": 12, "vk_acceleration_structure_build_type_device_khr": [12, 19, 20], "primitivecount": [12, 19, 20, 24, 29], "updatescratchs": [12, 32], "buildscratchs": [12, 19, 20, 31, 32], "raytracingpipelin": [12, 14, 32, 35], "rayqueri": [12, 27, 32], "maxinstancecount": [12, 19], "vk_structure_type_acceleration_structure_build_sizes_info_khr": [12, 19, 20], "pcreateinfo": [12, 14, 17, 35, 37, 39, 41], "vkallocationcallback": [12, 14, 17, 35, 36, 39, 41], "palloc": [12, 14, 17, 35, 36, 39, 41], "paccelerationstructur": [12, 19, 27], "vkaccelerationstructurecreateflagskhr": 12, "createflag": 12, "vk_structure_type_acceleration_structure_create_info_khr": [12, 19], "vkopaquecapturedescriptordatacreateinfoext": 12, "vk_error_invalid_opaque_capture_address_khr": 12, "vk_memory_allocate_device_address_bit": 12, "vk_acceleration_structure_type_generic_khr": [12, 32], "translat": 12, "layer": [12, 32, 42], "vk_acceleration_structure_create_motion_bit_nv": 12, "vk_nv_ray_tracing_motion_blur": 12, "vk_acceleration_structure_create_device_address_capture_replay_bit_khr": 12, "vk_structure_type_acceleration_structure_device_address_info_khr": 12, "infocount": 12, "ppbuildrangeinfo": 12, "vk_pipeline_stage_acceleration_structure_build_bit_khr": [12, 19, 32], "vk_access_acceleration_structure_read_bit_khr": [12, 19, 32], "vk_access_acceleration_structure_write_bit_khr": [12, 19, 32], "vk_access_shader_read_bit": [12, 32], "primitiveoffset": [12, 19, 24, 29], "firstvertex": [12, 19, 24, 29], "transformoffset": [12, 19, 24, 29], "accelerationstructurecount": [12, 19, 27], "vkquerytyp": 12, "querytyp": [12, 19], "vkquerypool": [12, 19, 37], "querypool": [12, 19], "firstqueri": 12, "vk_pipeline_stage_2_acceleration_structure_copy_bit_khr": 12, "vk_query_type_acceleration_structure_compacted_size_khr": [12, 19], "vk_query_type_acceleration_structure_serialization_size_khr": 12, "vk_query_type_acceleration_structure_size_khr": 12, "vk_query_type_acceleration_structure_serialization_bottom_level_pointers_khr": 12, "src": [12, 19], "vkcopyaccelerationstructuremodekhr": 12, "vk_structure_type_copy_acceleration_structure_info_khr": [12, 19], "vk_copy_acceleration_structure_mode_clone_khr": 12, "vkbindaccelerationstructurememorynv": 12, "vk_copy_acceleration_structure_mode_serialize_khr": 12, "vk_copy_acceleration_structure_mode_deserialize_khr": 12, "vk_access_transfer_write_bit": [12, 19, 32], "vk_uuid_siz": [12, 37, 38, 41], "vkphysicaldeviceidproperti": 12, "driveruuid": 12, "vk_structure_type_copy_acceleration_structure_to_memory_info_khr": 12, "vk_access_transfer_read_bit": [12, 32], "vk_structure_type_copy_memory_to_acceleration_structure_info_khr": 12, "pversioninfo": 12, "pcompat": 12, "pversiondata": 12, "vk_structure_type_acceleration_structure_version_info_khr": 12, "vk": [12, 19, 39, 41], "_uuid": 12, "_size": 12, "vkcopyacceler": 12, "structuretomemori": 12, "uuid": 12, "vk_acceleration_structure_compatibility_compatible_khr": 12, "vk_acceleration_structure_compatibility_incompatible_khr": 12, "command": [12, 14, 19, 43], "cach": 12, "vk_memory_property_host_cached_bit": [12, 36, 37], "vkdeferredoperationkhr": [12, 14, 31], "deferredoper": [12, 14], "by": [12, 14, 36, 37], "size_t": [12, 14, 20, 24, 36, 38], "datas": [12, 14, 19], "pdata": [12, 14, 19, 26], "17": [14, 19, 22, 36, 41], "vk_khr_spirv_1_4": [14, 35], "vk_khr_shader_float_control": 14, "vk_khr_ray_tracing_pipeline_extension_nam": [14, 19], "vk_buffer_usage_shader_binding_table_bit_khr": [14, 19, 32], "vk_dynamic_state_ray_tracing_pipeline_stack_size_khr": [14, 32], "vk_pipeline_bind_point_ray_tracing_khr": [14, 19, 31], "vk_pipeline_stage_ray_tracing_shader_bit_khr": [14, 19, 32], "vk_shader_stage_any_hit_bit_khr": [14, 21, 29], "vk_shader_stage_callable_bit_khr": [14, 22], "vk_shader_stage_closest_hit_bit_khr": [14, 19, 21, 24, 26, 29], "vk_shader_stage_intersection_bit_khr": [14, 24], "vk_shader_stage_miss_bit_khr": [14, 19], "vk_shader_stage_raygen_bit_khr": [14, 19], "raytracingpipelineshadergrouphandlecapturereplay": [14, 32, 35], "raytracingpipelineshadergrouphandlecapturereplaymix": [14, 32, 35], "raytracingpipelinetraceraysindirect": [14, 32, 35], "raytraversalprimitivecul": [14, 32, 35], "vk_structure_type_physical_device_ray_tracing_pipeline_features_khr": [14, 19], "maxrayrecursiondepth": [14, 19], "maxshadergroupstrid": 14, "shadergrouphandlecapturereplays": 14, "maxraydispatchinvocationcount": 14, "maxrayhitattributes": 14, "vk_structure_type_physical_device_ray_tracing_pipeline_properties_khr": [14, 19, 27], "vkgetphysicaldeviceproperties2": [14, 19], "vkphysicaldeviceproperties2": [14, 19], "vkpipelinecach": [14, 36, 37], "pipelinecach": 14, "createinfocount": 14, "vkpipelin": [14, 19, 20, 37], "ppipelin": 14, "pshadergroupcapturereplayhandl": 14, "vk_error_invalid_opaque_capture_address": 14, "vk_pipeline_create_derivative_bit": 14, "basepipelineindex": 14, "vk_pipeline_create_allow_derivatives_bit": 14, "vk_pipeline_create_dispatch_bas": 14, "vk_pipeline_cache_create_externally_synchronized_bit": 14, "host": [14, 15, 29, 31, 33, 36], "vk_pipeline_create_early_return_on_failure_bit": 14, "vkpipelinecreateflag": 14, "stagecount": [14, 19], "vkpipelineshaderstagecreateinfo": [14, 19], "pstage": [14, 19], "groupcount": [14, 19], "maxpipelinerayrecursiondepth": [14, 19, 28], "plibraryinfo": [14, 31], "plibraryinterfac": 14, "vkpipelinedynamicstatecreateinfo": 14, "pdynamicst": 14, "vkpipelinelayout": [14, 19, 20, 37], "basepipelinehandl": 14, "int32_t": [14, 20, 38, 43], "vk_structure_type_ray_tracing_pipeline_create_info_khr": [14, 19], "vkpipelinecreateflagbit": 14, "vk_pipeline_create_library_bit_khr": [14, 31], "ray": [14, 19, 21, 24, 28, 29, 31, 32], "pipelin": [14, 19], "stack": 14, "vkpipelinecreateflags2createinfokhr": 14, "vk_pipeline_create_indirect_bindable_bit_nv": 14, "pipelinecreationcachecontrol": 14, "vk_pipeline_create_fail_on_pipeline_compile_required_bit": 14, "plibrari": [14, 31], "maxpipelineraypayloads": 14, "maxpipelinerayhitattributes": 14, "vk_pipeline_create_ray_tracing_shader_group_handle_capture_replay_bit_khr": 14, "vk_pipeline_create_ray_tracing_skip_aabbs_bit_khr": 14, "vk_pipeline_create_ray_tracing_skip_triangles_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_any_hit_shaders_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_closest_hit_shaders_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_intersection_shaders_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_miss_shaders_bit_khr": 14, "vk_khr_pipeline_librari": [14, 15, 32, 33, 35], "vk_ray_tracing_shader_group_type_triangles_hit_group_khr": [14, 19, 21, 26], "vk_ray_tracing_shader_group_type_procedural_hit_group_khr": [14, 19, 24], "anyhitshad": [14, 19, 21], "vk_shader_unused_khr": [14, 19, 21, 22, 26], "closesthitshad": [14, 19, 21, 22, 24, 26], "librarycount": [14, 31], "vkpipelinecreationfeedbackcreateinfo": 14, "pipelinestagecreationfeedbackcount": 14, "vk_pipeline_create_ray_tracing_opacity_micromap_bit_ext": 14, "vk_pipeline_create_ray_tracing_displacement_micromap_bit_nv": 14, "generalshad": [14, 19, 21, 22, 26], "intersectionshad": [14, 19, 24], "vk_structure_type_ray_tracing_shader_group_create_info_khr": [14, 19], "vk_ray_tracing_shader_group_type_general_khr": [14, 19, 22], "generat": [14, 18, 19, 25, 31], "closest": [14, 19, 21, 31], "pipelinelibrarygrouphandl": 14, "vk_nv_ray_trac": [14, 32], "vk_ray_tracing_shader_group_type_general_nv": 14, "vk_ray_tracing_shader_group_type_triangles_hit_group_nv": 14, "vk_ray_tracing_shader_group_type_procedural_hit_group_nv": 14, "git": [14, 19], "vkgraphicspipelinelibraryflagbitsext": 14, "vk_structure_type_pipeline_library_create_info_khr": 14, "vkpipelineshaderstagemoduleidentifiercreateinfoext": 14, "identifiers": 14, "vk_pipeline_create_descriptor_buffer_bit_ext": 14, "vk_pipeline_create_no_protected_access_bit_ext": 14, "vk_pipeline_create_protected_access_only_bit_ext": 14, "vk_structure_type_ray_tracing_pipeline_interface_create_info_khr": 14, "attribut": 14, "raypayloadkhr": 14, "incomingraypayloadkhr": 14, "hitattributekhr": 14, "firstgroup": 14, "vkraytracingpipelinecreateinfonv": 14, "captur": 14, "replay": 14, "groupshad": 14, "vk_shader_group_shader_general_khr": 14, "vk_shader_group_shader_closest_hit_khr": 14, "vk_shader_group_shader_any_hit_khr": 14, "vk_shader_group_shader_intersection_khr": 14, "pipelinestacks": 14, "vkcmdbuildaccelerationstructureskhr": [15, 19, 20, 31, 32], "vkaccelerationstructurebuildgeometryinfokhr": [15, 19, 20, 31, 32], "vkbuildaccelerationstructuremodekhr": 15, "vkdeviceorhostaddresskhr": 15, "vkdeviceorhostaddressconstkhr": [15, 19], "vkaccelerationstructuregeometrykhr": [15, 21, 24, 29], "vkaccelerationstructuregeometrydatakhr": [15, 19], "vkaccelerationstructuregeometrytrianglesdatakhr": [15, 19, 29], "vktransformmatrixkhr": 15, "vkaccelerationstructuregeometryaabbsdatakhr": [15, 24], "vkaabbpositionskhr": 15, "vkaccelerationstructuregeometryinstancesdatakhr": [15, 19], "vkgeometryinstanceflagbitskhr": 15, "vkaccelerationstructurebuildrangeinfokhr": [15, 20, 24, 29], "vkgetaccelerationstructurebuildsizeskhr": [15, 19, 20, 31, 32], "vkaccelerationstructurebuildsizesinfokhr": [15, 19, 20, 32], "vkcreateaccelerationstructurekhr": [15, 19, 31, 32], "vkaccelerationstructurecreateinfokhr": [15, 19, 20, 32], "vkgetaccelerationstructuredeviceaddresskhr": [15, 32], "vkaccelerationstructuredeviceaddressinfokhr": 15, "vkdestroyaccelerationstructurekhr": 15, "vkaccelerationstructuretypekhr": 15, "vkbuildaccelerationstructureflagbitskhr": 15, "vkgeometrytypekhr": 15, "vkgeometryflagbitskhr": 15, "vkgetbufferdeviceaddress": [15, 19, 20], "vkgetbufferdeviceaddresskhr": 15, "vkbufferdeviceaddressinfo": [15, 19, 20], "vkbufferdeviceaddressinfokhr": 15, "shaderbindingt": 15, "vk_khr_ray_queri": [15, 27, 32, 33, 35], "vkphysicaldeviceraytracingpipelinefeatureskhr": [15, 19, 35], "vkcreateraytracingpipelineskhr": [15, 19, 22, 31, 32], "vkraytracingshadergroupcreateinfokhr": [15, 19, 24], "vkraytracingshadergrouptypekhr": 15, "vkpipelinelibrarycreateinfokhr": [15, 31, 32], "vkraytracingpipelineinterfacecreateinfokhr": [15, 32], "vkgetraytracingcapturereplayshadergrouphandleskhr": 15, "vkgetraytracingshadergroupstacksizekhr": [15, 32], "vkshadergroupshaderkhr": 15, "vkcmdsetraytracingpipelinestacksizekhr": [15, 32], "30": [17, 19, 37], "pinstanc": [17, 37, 41], "vkinstancecreateflag": [17, 41], "papplicationinfo": [17, 37, 41], "enabledlayercount": [17, 35, 37, 41], "char": [17, 35, 36, 37, 38, 41], "ppenabledlayernam": [17, 35, 37, 41], "enabledextensioncount": [17, 35, 37, 41], "ppenabledextensionnam": [17, 35, 37, 41], "vk_structure_type_instance_create_info": [17, 37], "vkinstancecreateflagbit": [17, 37], "papplicationnam": [17, 37, 41], "applicationvers": [17, 37, 41], "penginenam": [17, 37, 41], "enginevers": [17, 37, 41], "apivers": [17, 37, 38, 41], "vk_structure_type_application_info": [17, 37], "utf": [17, 37], "patch": [17, 37, 41], "vk_api_version_1_0": [17, 41], "vk_api_version_1_1": [17, 41], "vk_api_version_1_2": [17, 41], "vk_api_version_1_3": [17, 41], "loader": [17, 19, 37, 42], "vkcmdcopyimagetobuff": 17, "vk_version_1_3": 17, "vkcmdcopyimagetobuffer2": 17, "papivers": [17, 37], "vkphysicaldeviceproperti": [17, 41], "vk_layer_khronos_valid": 17, "vk_layer_lunarg_gfxreconstruct": 17, "gfxreconstruct": 17, "vk_layer_lunarg_api_dump": 17, "vk_layer_khronos_profil": 17, "vk_layer_lunarg_monitor": 17, "vk_layer_lunarg_screenshot": 17, "vk_layer_khronos_synchronization2": 17, "vk_khr_synchronization2": 17, "vk_layer_khronos_shader_object": 17, "vk_ext_shader_object": 17, "ppropertycount": [17, 35], "pproperti": [17, 35, 37, 38, 41], "vk_incomplet": [17, 37, 38], "layer_property_count": 17, "layer_properti": 17, "layernam": 17, "vk_max_extension_name_s": [17, 35], "specvers": [17, 35], "implementationvers": 17, "descript": [17, 43], "vk_max_description_s": 17, "256u": 17, "playernam": [17, 35], "extension_property_count": [17, 35], "extension_properti": [17, 35], "extensionnam": [17, 35], "vk_khr_surfac": [17, 35], "vk_": [17, 35], "vender": [17, 35], "platform": [17, 35], "_surfac": [17, 35], "vk_khr_win32_surfac": 17, "vk_ohos_surfac": 17, "openharmoni": 17, "vk_khr_android_surfac": 17, "vk_khr_": [17, 19], "wayland": 17, "xcb": [17, 41], "xlib": [17, 41], "vulkan_vers": [17, 37], "vk_make_api_vers": [17, 37, 41], "application_info": [17, 37], "enable_layer_nam": 17, "_debug": 17, "ndebug": 17, "endif": [17, 21, 22, 23, 37, 41], "enable_extension_nam": 17, "_win16": 17, "_win32": 17, "_win64": [17, 37], "elif": [17, 21, 23], "vk_use_platform_oho": 17, "instance_create_info": [17, 36, 37], "metal": 18, "orphism": 18, "krono": 18, "opencl": 18, "webgl": 18, "1992": 18, "2004": 18, "framebuff": 18, "2015": 18, "gdc": 18, "game": [18, 42], "develop": [18, 32], "confer": 18, "next": [18, 43], "initi": 18, "glnext": 18, "2018": [18, 24, 32, 42], "queue": [18, 37], "glew": 18, "glad": 18, "18": [19, 37, 41], "vulkankhrraytracingtest": 19, "vulkankhrraytracingtestforlight": 19, "phong": 19, "vulkankhrraytracingtestforlightingshadow": 19, "vulkankhrraytracingtestforlightingshadowwithtextur": 19, "nvpro": 19, "vk_raytracing_tutorial_khr": 19, "render": [19, 32, 43], "pass": 19, "helper": [19, 41], "opengl": [19, 35, 41, 42], "build_al": 19, "nvvk": [19, 21, 22, 23, 24, 26, 27, 29], "clone_al": 19, "bat": 19, "sh": [19, 41], "recurs": 19, "shallow": 19, "submodul": 19, "nvpro_cor": [19, 23], "cmake": [19, 21, 24, 25, 26, 41], "gui": 19, "cd": [19, 41, 43], "mkdir": [19, 41], "2021": [19, 32], "161": 19, "182": 19, "vk_ray_tracing__before_khr": 19, "obj": [19, 20, 23, 24, 26, 28, 29], "overview": 19, "vk_ray_tracing__simple_khr": 19, "contextcreateinfo": 19, "vkray": [19, 27], "accelfeatur": 19, "contextinfo": [19, 23, 27], "adddeviceextens": [19, 23, 27], "vk_khr_acceleration_structure_extension_nam": 19, "rtpipelinefeatur": 19, "vk_khr_deferred_host_operations_extension_nam": 19, "featureskhr": 19, "initinst": 19, "vkgetinstanceprocaddr": 19, "vkgetdeviceprocaddr": 19, "load_vk_extens": 19, "hello_vulkan": [19, 22, 28, 29], "hellovulkan": [19, 20, 21, 22, 24, 25, 27, 29], "initraytrac": [19, 22, 27], "m_rtproperti": [19, 22, 26, 27, 28], "prop2": 19, "vk_structure_type_physical_device_properties_2": 19, "m_physicaldevic": 19, "hellovk": [19, 20, 21, 23, 24, 25, 26, 28, 29], "updatedescriptorset": [19, 24, 27, 29], "quadro": 19, "6000": 19, "tlas": [19, 20, 24, 27, 29], "blas": [19, 20, 24], "3d": 19, "objmodel": [19, 20, 27, 29], "objinst": [19, 20, 24, 26, 29], "raytrace_vkpp": [19, 20], "raytracekhr_vk": 19, "hpp": [19, 20, 22, 23], "raytracingbuilderkhr": [19, 20, 24, 27, 29], "m_rtbuilder": [19, 20, 24, 27, 29], "setup": [19, 22, 41], "m_devic": [19, 20, 21, 22, 24, 26, 29], "m_alloc": [19, 20, 22, 23, 24, 29], "m_graphicsqueueindex": [19, 20, 22, 24, 29], "resourceallocator_vk": 19, "accelkhr": 19, "dma": 19, "alloc": [19, 23, 36], "vma": 19, "blasinput": [19, 20, 24, 29], "auto": [19, 20, 22, 24, 25, 27, 29, 36], "objecttovkgeometrykhr": [19, 20, 24, 27, 29], "model": [19, 20, 27, 29, 43], "glvertexattribpoint": 19, "gldrawarray": 19, "anyhit": 19, "vertexobj": [19, 20], "nvmath": [19, 20, 21, 23, 24, 25, 26, 28, 29], "vec3f": [19, 20, 21, 23, 24, 26, 28, 29], "nrm": [19, 20], "vec2f": 19, "texcoord": 19, "vertexaddress": [19, 29], "getbufferdeviceaddress": [19, 24, 29], "vertexbuff": [19, 20, 29], "indexaddress": [19, 29], "indexbuff": 19, "nbindic": 19, "vk_format_r32g32b32_sfloat": [19, 29], "bit": 19, "unsign": [19, 37], "vk_index_type_uint32": [19, 29], "nbvertic": [19, 20], "asgeom": [19, 21, 24, 29], "asgeometri": [19, 20, 24, 29], "emplace_back": [19, 20, 24, 27, 29], "asbuildoffsetinfo": [19, 20, 24, 29], "offsetof": 19, "createbottomlevela": [19, 20, 24, 27], "allbla": [19, 24], "reserv": [19, 20, 24], "m_objmodel": [19, 20, 24, 29], "raytracekhr_vkpp": 19, "buildaccelerationstructur": 19, "m_blas": [19, 20], "compact": 19, "m_cmdpool": 19, "init": 19, "m_queueindex": [19, 20], "nbblas": 19, "static_cast": [19, 20, 24, 29], "astotals": 19, "nbcompact": 19, "maxscratchs": 19, "builda": 19, "idx": 19, "createbla": 19, "see": [19, 43], "buildinfo": [19, 20], "rangeinfo": 19, "maxprimcount": [19, 20], "tt": [19, 20], "number": [19, 23, 25, 43], "primit": [19, 29], "sizeinfo": [19, 20], "hasflag": 19, "scratchbuff": [19, 20], "createbuff": [19, 20, 24, 29], "vk_buffer_usage_storage_buffer_bit": [19, 20, 24, 29, 32, 37, 39], "bufferinfo": [19, 20], "scratchaddress": 19, "50": [19, 28, 37], "assert": [19, 20, 29, 37], "vkquerypoolcreateinfo": 19, "qpci": 19, "vk_structure_type_query_pool_create_info": 19, "querycount": 19, "vkcreatequerypool": 19, "indic": [19, 21], "batchsiz": 19, "batchlimit": 19, "000": [19, 23, 24], "mb": 19, "cmdbuf": [19, 20, 22, 24, 29], "createcommandbuff": [19, 20, 24, 29], "submitandwait": [19, 20, 24, 29], "vkqueuewaitidl": 19, "destroynoncompact": 19, "clear": 19, "vkdestroyquerypool": 19, "finalizeandreleasestag": [19, 29], "destroy": [19, 20, 24], "deinit": 19, "vkresetquerypool": 19, "querycnt": 19, "createacceler": 19, "vk_buffer_usage_acceleration_structure_storage_bit_khr": [19, 32, 37], "imag": [19, 25, 28, 29, 37, 39], "createinfo": [19, 20, 37], "name_idx_vk": 19, "accel": [19, 20], "part": 19, "barrier": 19, "vkmemorybarri": 19, "vk_structure_type_memory_barri": 19, "srcaccessmask": 19, "dstaccessmask": 19, "vkcmdpipelinebarri": 19, "vkcmdwriteaccelerationstructurespropertieskhr": [19, 32], "queryctn": 19, "cleanupa": 19, "compacts": 19, "vkgetquerypoolresult": 19, "vk_query_result_wait_bit": 19, "ascreateinfo": 19, "vkcopyaccelerationstructureinfokhr": 19, "copyinfo": 19, "vkcmdcopyaccelerationstructurekhr": [19, 32], "createtoplevela": [19, 20, 24, 26, 27], "gl_instancecustomindex": 19, "hitgroupid": [19, 24], "eobjdesc": [19, 21, 27], "scalar": [19, 20, 21, 24], "objdesc_": [19, 21], "objdesc": [19, 21, 24, 29], "gl_instancecustomindexext": [19, 20, 21, 26, 29], "issu": [19, 32], "rayinst": [19, 20, 24, 26, 29], "totransformmatrixkhr": [19, 20, 24, 29], "0xff": [19, 20, 21, 24, 27, 28, 29], "raymask": [19, 20, 24], "loadmodel": [19, 20, 21, 23, 24, 26, 28, 29], "string": [19, 29], "filenam": [19, 29], "mat4f": [19, 20, 23, 24, 25, 26, 29], "destroyresourc": [19, 20, 24], "m_tlas": [19, 20], "updat": [19, 20], "countinst": 19, "commandpool": [19, 20, 24, 29, 37], "gencmdbuf": [19, 20, 24], "instancesbuff": 19, "vk_buffer_usage_acceleration_structure_build_input_read_only_bit_khr": [19, 24, 29, 32], "name_vk": [19, 20], "instbufferaddr": 19, "vk_pipeline_stage_transfer_bit": 19, "vkcmdcopybuff": [19, 37], "cmdcreatetla": 19, "motion": 19, "instancesvk": 19, "topasgeometri": 19, "buildoffsetinfo": 19, "pbuildoffsetinfo": 19, "descriptorsetbind": [19, 20], "m_rtdescsetlayoutbind": [19, 29], "vkdescriptorpool": [19, 20, 37], "m_rtdescpool": 19, "vkdescriptorsetlayout": [19, 20, 37], "m_rtdescsetlayout": 19, "vkdescriptorset": [19, 20, 37], "m_rtdescset": [19, 29], "addbind": [19, 20, 21, 24, 27, 29], "rtxbind": 19, "etla": [19, 27], "eoutimag": 19, "vk_descriptor_type_storage_imag": 19, "createpool": [19, 20], "createlayout": [19, 20], "vkdescriptorsetallocateinfo": 19, "allocateinfo": 19, "vk_structure_type_descriptor_set_allocate_info": 19, "descriptorpool": 19, "descriptorsetcount": 19, "psetlayout": [19, 20], "vkallocatedescriptorset": 19, "getaccelerationstructur": [19, 27], "vkwritedescriptorsetaccelerationstructurekhr": [19, 27], "descasinfo": [19, 27], "vk_structure_type_write_descriptor_set_acceleration_structure_khr": [19, 27], "vkdescriptorimageinfo": 19, "imageinfo": 19, "m_offscreencolor": 19, "imageview": 19, "vk_image_layout_gener": [19, 37], "vkwritedescriptorset": [19, 20], "write": [19, 20, 24, 27, 29], "makewrit": [19, 20, 24, 27, 29], "vkupdatedescriptorset": [19, 20], "createdescriptorsetlayout": [19, 21, 27, 29], "m_descsetlayoutbind": [19, 21, 24, 27], "scenebind": 19, "eglob": [19, 27], "vk_descriptor_type_uniform_buff": 19, "vk_shader_stage_vertex_bit": [19, 21, 29], "vk_descriptor_type_storage_buff": [19, 20, 21, 24, 29], "vk_shader_stage_fragment_bit": [19, 21, 27, 29], "etextur": [19, 27], "vk_descriptor_type_combined_image_sampl": 19, "nbtxt": 19, "vkbufferusageflag": [19, 39], "raytracingflag": 19, "m_vertic": 19, "vk_buffer_usage_vertex_buffer_bit": [19, 29, 39], "m_indic": [19, 29], "vk_buffer_usage_index_buffer_bit": [19, 29, 37, 39], "matcolorbuff": 19, "m_materi": [19, 29], "matindexbuff": 19, "m_matindx": 19, "objectid": 19, "updatertdescriptorset": 19, "wds": 19, "onres": [19, 25], "vkdestroydescriptorpool": [19, 20], "vkdestroydescriptorsetlayout": [19, 20], "tabl": 19, "sbt": [19, 21], "shaderrecordext": [19, 26], "vkshadermodul": [19, 37], "vkcreateraytracingpipelinekhr": 19, "imagestor": [19, 25, 28, 29], "local": [19, 31], "hitpayload": [19, 21, 26, 28, 29], "hitvalu": [19, 21, 25, 26, 28], "prd": [19, 21, 25, 26, 28], "isshadow": 19, "stream": 19, "multi": 19, "processor": 19, "barycentr": 19, "v0": [19, 20, 25], "v1": [19, 25], "v2": 19, "hitattributeext": 19, "attrib": 19, "toplevela": [19, 21, 27, 28, 29], "rmiss": [19, 21], "creatertpipelin": [19, 21, 22, 28], "m_rtshadergroup": [19, 21, 22, 24, 26], "m_rtpipelinelayout": 19, "m_rtpipelin": [19, 22, 26], "push": [19, 20, 25, 29], "constant": [19, 20, 22, 25, 29], "host_devic": [19, 24, 25, 29], "geforc": 19, "3070": 19, "tracer": 19, "pushconstantray": [19, 25, 28], "clearcolor": [19, 22, 25, 28, 29], "lightposit": [19, 22, 25, 28, 29], "lightintens": [19, 22, 25, 28], "lighttyp": [19, 22, 25, 28], "m_pcray": [19, 25, 28, 29], "vkcreateshadermodul": 19, "stageindic": [19, 21, 22, 24, 26], "eraygen": [19, 21, 22, 24, 26], "emiss": [19, 21, 22, 24, 26], "eclosesthit": [19, 21, 22, 24, 26], "eshadergroupcount": [19, 21, 22, 24, 26], "stage": [19, 20, 21, 22, 24, 26], "vk_structure_type_pipeline_shader_stage_create_info": 19, "pname": [19, 37], "createshadermodul": [19, 21, 22, 24, 26], "nvh": [19, 20, 21, 22, 23, 24, 26, 28, 29], "loadfil": [19, 20, 21, 22, 24, 26], "spv": [19, 20, 21, 22, 24, 26], "defaultsearchpath": [19, 20, 21, 22, 23, 24, 26, 28, 29], "vkpipelinelayoutcreateinfo": [19, 20], "pipelinelayoutcreateinfo": 19, "vkpushconstantrang": [19, 20], "pushconst": 19, "vk_structure_type_pipeline_layout_create_info": [19, 20], "pushconstantrangecount": [19, 20], "ppushconstantrang": [19, 20], "rtdescsetlayout": 19, "m_descsetlayout": 19, "setlayoutcount": [19, 20], "vkcreatepipelinelayout": [19, 20], "raypipelineinfo": [19, 22, 26, 28], "are": [19, 23, 43], "vkdestroyshadermodul": [19, 20], "vkdestroypipelin": [19, 20], "vkdestroypipelinelayout": [19, 20], "physicaldeviceraytracingpipelinepropertieskhr": 19, "grouphandles": 19, "aligneds": 19, "texttt": 19, "raygen": [19, 29], "m_rtsbtbuffer": 19, "m_rgenregion": [19, 26], "m_missregion": [19, 26], "m_hitregion": [19, 26], "m_callregion": 19, "misscount": 19, "hitcount": 19, "handlecount": 19, "handles": [19, 26], "handlesizealign": 19, "align_up": [19, 26], "sbtsize": 19, "vk_buffer_usage_transfer_src_bit": [19, 37, 39], "vk_memory_property_host_visible_bit": [19, 36, 37], "vk_memory_property_host_coherent_bit": [19, 36, 37], "m_debug": [19, 24], "setobjectnam": [19, 24], "renderdoc": 19, "info": [19, 29, 37, 41, 43], "sbtaddress": 19, "gethandl": [19, 26], "map": 19, "vkmapmemori": 19, "psbtbuffer": [19, 26], "reinterpret_cast": 19, "handleidx": [19, 26], "memcpi": [19, 26, 36, 37], "unmap": 19, "nnvk": 19, "vec4f": [19, 26], "beginlabel": 19, "m_pcraster": [19, 29], "descset": 19, "m_descset": [19, 24, 27], "vkcmdbindpipelin": [19, 20, 31], "vkcmdbinddescriptorset": [19, 20], "vkcmdpushconst": [19, 20, 29], "m_size": [19, 22], "endlabel": 19, "region": [19, 22], "m_stbwrapper": 19, "getregion": [19, 22], "useraytrac": 19, "coloredit3": 19, "checkbox": 19, "raster": 19, "els": [19, 20, 21, 22, 23, 24, 25, 29, 35, 37, 38, 43], "vkcmdbeginrenderpass": 19, "offscreenrenderpassbegininfo": 19, "vk_subpass_contents_inlin": 19, "vkcmdendrenderpass": 19, "updateuniformbuff": 19, "ubousagestag": 19, "vk_pipeline_stage_vertex_shader_bit": 19, "extens": [19, 20, 21, 22, 24, 26, 27, 29, 35, 41, 42], "gl_google_include_direct": [19, 20, 21, 22, 24, 26], "enabl": [19, 20, 21, 22, 24, 26, 27, 29], "_globaluniform": 19, "globaluniform": 19, "uni": 19, "start_bind": 19, "end_bind": 19, "mat4": 19, "viewproj": 19, "viewinvers": 19, "projinvers": 19, "raycommon": [19, 21, 22, 24, 26, 29], "gl_launchidext": [19, 21, 25, 28, 29], "gl_launchsizeext": [19, 21, 25, 29], "pixelcent": [19, 25], "xy": [19, 25, 28, 29], "inuv": 19, "xyz": [19, 25, 28, 29], "ambient": 19, "occlus": 19, "gl_rayflagsopaqueext": [19, 21, 29], "001": [19, 29], "will": [19, 43], "usher": 19, "articl": [19, 43], "rang": [19, 21, 28, 29], "ivec2": [19, 25, 28, 29], "un": 19, "gl_ext_shader_explicit_arithmetic_types_int64": [19, 20, 21, 24], "_pushconstantray": 19, "pcray": [19, 25, 29], "gl_ext_scalar_block_layout": [19, 20, 21, 24], "gl_ext_buffer_reference2": [19, 21, 24], "buffer_refer": [19, 21], "vertic": [19, 20, 21, 39], "materi": [19, 21, 24, 29], "wavefrontmateri": [19, 21], "matindic": [19, 21], "gl_primitiveid": [19, 21, 24], "objresourc": [19, 21], "materialindexaddress": [19, 21, 24], "materialaddress": [19, 21, 24, 29], "ind": 19, "worldpo": [19, 22, 24, 28], "gl_worldrayoriginext": [19, 24], "gl_worldraydirectionext": [19, 24, 28], "gl_hittext": [19, 24], "gl_objecttoworldext": 19, "worldnrm": 19, "gl_worldtoobjectext": 19, "lightdist": [19, 22, 27], "100000": [19, 28], "ldir": [19, 22], "maya": 19, "studiotool": 19, "autodesk": 19, "sampler2d": 19, "texturesampl": 19, "diffus": [19, 24, 28], "specular": [19, 28], "shini": 19, "ior": 19, "dissolv": [19, 21], "illum": [19, 21, 28], "http": [19, 24], "fileformat": 19, "format": [19, 21, 37], "textureid": 19, "dotnl": 19, "matidx": [19, 21, 24], "mat": [19, 21, 23, 24, 28, 29], "computediffus": 19, "txtid": [19, 29], "scndesc": 19, "txtoffset": 19, "nonuniformext": [19, 29], "computespecular": 19, "findfil": [19, 20, 21, 23, 24, 26, 28, 29], "media": [19, 20, 21, 23, 24, 26, 28, 29], "scene": [19, 20, 21, 23, 24, 26, 28, 29], "medieval_build": 19, "plane": [19, 20, 21, 23, 24, 26, 28], "cameramanip": [19, 24, 25, 29], "setlookat": [19, 24, 29], "boolean": 19, "raytraceshadow": [19, 21], "emiss2": [19, 21, 22, 24, 26], "nv": 19, "spec": 19, "onli": [19, 43], "guarante": 19, "check": 19, "that": [19, 37, 43], "sad": 19, "possibl": [19, 37], "here": [19, 43], "fail": 19, "support": [19, 32], "gl_rayflagsskipclosesthitshaderkhr": 19, "gl_rayflagsopaquekhr": 19, "gl_rayflagsterminateonfirsthitkhr": 19, "gl_rayflagsterminateonfirsthitext": [19, 27, 31], "gl_rayflagsskipclosesthitshaderext": [19, 21], "ray_tracing__simpl": 19, "ui": [19, 28], "shaderrecordkhr": 19, "vulkankhrraytracingtestforanimationtla": 20, "vulkankhrraytracingtestforanimationbla": 20, "wuson": [20, 21, 26], "scale_mat4": [20, 21, 23, 28], "wusonid": 20, "ident": 20, "m_instanc": [20, 23, 24, 26, 29], "animationinst": 20, "nbwuson": 20, "deltaangl": 20, "28318530718f": 20, "wusonlength": 20, "radius": [20, 24], "5f": [20, 21, 25, 29, 37], "wusonidx": 20, "rotation_mat4_i": 20, "translation_mat4": [20, 21, 23, 26, 28], "start": [20, 36], "chrono": 20, "system_clock": 20, "now": [20, 43], "appbas": 20, "preparefram": 20, "durat": 20, "diff": 20, "count": 20, "inst": [20, 24, 26], "objindex": [20, 24, 26, 29], "getblasdeviceaddress": [20, 24, 29], "m_rtflag": 20, "sphere": [20, 21, 24], "createcompdescriptor": 20, "updatecompdescriptor": 20, "nvvkbuffer": [20, 24], "createcomppipelin": 20, "m_compdescsetlayoutbind": 20, "m_compdescpool": 20, "m_compdescsetlayout": 20, "m_compdescset": 20, "m_comppipelin": 20, "m_comppipelinelayout": 20, "vk_shader_stage_compute_bit": 20, "allocatedescriptorset": 20, "vkdescriptorbufferinfo": [20, 24, 29], "dbiunif": 20, "vk_whole_s": [20, 24, 29, 36], "vkcomputepipelinecreateinfo": 20, "computepipelinecreateinfo": 20, "vk_structure_type_compute_pipeline_create_info": 20, "createshaderstageinfo": 20, "vkcreatecomputepipelin": 20, "version": [20, 21, 22, 24, 26, 27, 37, 41, 43], "460": [20, 21, 22, 24, 26, 27], "gl_arb_separate_shader_object": 20, "wavefront": [20, 21, 24, 29], "shaderinform": 20, "pushc": [20, 21, 22, 28], "gl_globalinvocationid": 20, "14159265": [20, 29], "signi": 20, "xz": 20, "argument": [20, 43], "xzfactor": 20, "yfactor": 20, "animationobject": 20, "dispatch": 20, "sphereid": 20, "vk_pipeline_bind_point_comput": 20, "vkcmddispatch": [20, 37], "blasidx": 20, "updatebla": 20, "pbuildoffset": 20, "buildbla": [20, 24], "vulkankhrraytracinganyhitshad": 21, "shade": 21, "raytrac": [21, 22, 25, 27, 29, 32], "rahit": 21, "chit": [21, 24], "gl_ext_ray_trac": [21, 22, 24, 26, 27], "random": [21, 23, 25], "clang": 21, "off": 21, "raypayloadinext": [21, 26], "ignoreintersectionext": [21, 32], "rnd": [21, 25, 29], "seed": [21, 25, 29], "rchit": 21, "eanyhit": 21, "tea": [21, 25, 29], "frame": [21, 25, 29], "gl_rayflagsnoneext": [21, 28], "mtl": [21, 28], "newmtl": [21, 28], "raytrace_0": 21, "ahit": 21, "raytrace_1": 21, "raytrace_ahit": 21, "payload_0": 21, "raytrace_rahit": 21, "payload_1": 21, "ifdef": [21, 41], "shadowpayload": 21, "ishit": 21, "gl_nv_ray_trac": 21, "raypayloadnv": 21, "prdshadow": 21, "eanyhit2": 21, "glsl_ext_ray_trac": [22, 31, 32], "callabledataext": 22, "raylight": 22, "clight": 22, "inhitposit": 22, "outlightdist": 22, "outlightdir": 22, "outintens": 22, "callabledatainext": 22, "ecall0": 22, "ecall1": 22, "ecall2": 22, "light_point": 22, "rcall": 22, "light_spot": 22, "light_inf": 22, "core": [22, 37], "lightdirect": 22, "lightspotcutoff": 22, "lightspotoutercutoff": 22, "epsilon": 22, "spotintens": 22, "clamp": 22, "10000000": 22, "sbtwrapper": [22, 26], "sbtwrapper_vk": 22, "m_sbtwrapper": [22, 26], "light": [22, 25, 27, 29, 43], "vulkankhrraytracingtestforinst": 23, "4096": 23, "1000": [23, 37], "cube": [23, 28, 41], "cube_multi": [23, 28], "random_devic": [23, 24], "rd": [23, 24], "mt19937": [23, 24], "gen": [23, 24], "mersenne_twister_engin": 23, "normal_distribut": [23, 24], "dis": 23, "disn": 23, "05f": [23, 24], "2000": 23, "scale": 23, "fabsf": 23, "rotation_mat4_x": 23, "1363": 23, "error": [23, 29, 43], "vuid_undefin": 23, "current": 23, "valid": [23, 32], "less": 23, "than": 23, "maximum": [23, 24], "allow": 23, "best": [23, 32], "run": 23, "crash": 23, "substanti": 23, "alloc_dma": 23, "alloc_ded": 23, "alloc_vma": 23, "memallocator_dma_vk": 23, "resourceallocatordma": 23, "memallocator_vma_vk": 23, "resourceallocatorvma": 23, "resourceallocatorded": 23, "resourceallocatordedicatednvvk": 23, "dear": 23, "nsight": [23, 29, 32], "graphic": [23, 29, 32], "amd": [23, 32, 37], "third_parti": 23, "vk_khr_bind_memory_2_extension_nam": 23, "vma_implement": 23, "vmamemoryalloc": 23, "allocmemori": 23, "vulkankhrraytracingtestforintersectionshad": 24, "center": 24, "minimum": 24, "kind_spher": 24, "kind_cub": 24, "m_sphere": 24, "m_spheresbuff": 24, "m_spheresaabbbuff": 24, "m_spheresmatcolorbuff": 24, "m_spheresmatindexbuff": 24, "createspher": 24, "spheretovkgeometrykhr": 24, "nbsphere": 24, "xzd": 24, "yd": 24, "uniform_real_distribut": 24, "radd": 24, "2f": 24, "resiz": [24, 26], "move": 24, "materialobj": 24, "vkbu": 24, "vkbufferusageflagbit": [24, 37], "spheresaabb": 24, "spheresmat": 24, "spheresmatidx": 24, "m_objdesc": [24, 29], "dataaddress": 24, "2000000": 24, "instancecustomid": 24, "blasid": 24, "nbobj": 24, "last": 24, "implicit": 24, "eimplicit": 24, "dbispher": 24, "eclosesthit2": [24, 26], "eintersect": 24, "gl_ext_nonuniform_qualifi": 24, "allspheres_": 24, "allspher": 24, "viclw17": 24, "io": 24, "07": 24, "hitspher": 24, "oc": 24, "discrimin": 24, "sqrt": [24, 29], "hitaabb": 24, "invdir": 24, "tbot": 24, "ttop": 24, "t0": 24, "t1": 24, "thit": 24, "hitkind": 24, "reportintersectionext": 24, "gl_hitkindext": 24, "absn": 24, "maxc": 24, "sign": 24, "vulkankhrraytracingjittercamera": 25, "rgen": 25, "zafar": 25, "olano": 25, "curti": 25, "via": [25, 41], "tini": 25, "encrypt": 25, "algorithm": [25, 36], "val0": 25, "val1": 25, "s0": 25, "0x9e3779b9": 25, "0xa341316c": 25, "0xc8013ea4": 25, "0xad90777d": 25, "0x7e95761": 25, "prev": 25, "numer": 25, "recip": 25, "linear": 25, "congruenti": 25, "zhihu": 25, "question": 25, "34515945": 25, "answer": 25, "59082990": 25, "lcg": 25, "inout": [25, 29], "lcg_a": 25, "1664525u": 25, "lcg_c": 25, "1013904223u": 25, "0x00ffffff": 25, "0x01000000": 25, "r1": [25, 29], "r2": [25, 29], "subpixel_jitt": 25, "old_color": [25, 29], "imageload": [25, 29], "resetfram": [25, 29], "updatefram": [25, 29], "refcammatrix": [25, 29], "reffov": [25, 29], "getfov": [25, 29], "getmatrix": [25, 29], "memcmp": [25, 29], "a00": [25, 29], "renderui": [25, 28], "chang": [25, 37], "imguih": 25, "camerawidget": 25, "collapsinghead": 25, "pc": [25, 36], "m_pushconst": 25, "radiobutton": 25, "samelin": 25, "infinit": 25, "sliderfloat3": 25, "sliderfloat": 25, "intens": 25, "150": 25, "m_maxfram": 25, "100": [25, 28, 29], "sliderint": [25, 28], "nbsampl": 25, "smpl": 25, "_maxfram": 25, "vulkankhrraytracingtestformulticlosesthit": 26, "hitgroup": 26, "hitgroup1": 26, "hitgroup0": 26, "hitrecordbuff": 26, "m_hitshaderrecord": 26, "sr_": 26, "shaderrec": 26, "sbtwraper": 26, "addindic": 26, "adddata": 26, "ehit": 26, "glsl_ext_ray_queri": [27, 31, 32], "vkphysicaldevicerayqueryfeatureskhr": 27, "rayqueryfeatur": 27, "vk_structure_type_physical_device_ray_query_features_khr": 27, "vk_khr_ray_query_extension_nam": 27, "gl_ext_ray_queri": 27, "i_worldpo": 27, "01f": 27, "rayqueryext": [27, 31], "rayqueryinitializeext": [27, 31], "rayqueryproceedext": [27, 31], "rayquerygetintersectiontypeext": [27, 31], "gl_rayquerycommittedintersectionnoneext": [27, 31], "o_color": 27, "vulkankhrraytracingtestforreflect": 28, "vulkankhrraytracingtestforreflections_withoutlimit": 28, "1f": 28, "95": 28, "cube_instance_materi": 28, "ns": 28, "ni": 28, "ka": 28, "kd": 28, "ks": 28, "vkphysicaldeviceraytracingpropertieskhr": 28, "10u": 28, "maxrecursiondepth": 28, "done": 28, "maxdepth": 28, "vk_raytrac": 29, "vk_shaded_gltfscen": 29, "scenedesc": 29, "gltfshademateri": 29, "indexoffset": 29, "vertexoffset": 29, "materialindex": 29, "normaladdress": 29, "uvaddress": 29, "priminfoaddress": 29, "pbr": 29, "pbrbasecolorfactor": 29, "emissivefactor": 29, "pbrbasecolortextur": 29, "gltfscene": 29, "m_vertexbuff": 29, "m_normalbuff": 29, "m_uvbuff": 29, "m_indexbuff": 29, "m_materialbuff": 29, "m_priminfo": 29, "m_scenedesc": 29, "tinygltf": 29, "loadscen": 29, "tmodel": 29, "tcontext": 29, "warn": [29, 43], "loadasciifromfil": 29, "load": 29, "importmateri": 29, "importdrawablenod": 29, "gltfattribut": 29, "texcoord_0": 29, "cmdbufget": 29, "m_posit": 29, "m_normal": 29, "m_texcoords0": 29, "shademateri": 29, "basecolorfactor": 29, "basecolortextur": 29, "primmesh": 29, "m_primmesh": 29, "firstindex": 29, "m_rtprimlookup": 29, "createtextureimag": 29, "primitivetovkgeometri": 29, "gltfprimmesh": 29, "prim": 29, "primitivetogeometri": 29, "indexcount": 29, "vertexcount": 29, "node": 29, "worldmatrix": 29, "vkcmdbindvertexbuff": 29, "vkcmdbindindexbuff": 29, "idxnod": 29, "modelmatrix": 29, "materialid": 29, "m_pipelinelayout": 29, "pushconstantrast": 29, "vkcmddrawindex": 29, "creatertdescriptorset": 29, "eprimlookup": 29, "primitiveinfodesc": 29, "creategraphicspipelin": 29, "vert_shad": 29, "frag_shad": 29, "closesthit": 29, "cornellbox": 29, "rtpushconst": 29, "arb_shader_clock": 29, "gl_arb_shader_clock": 29, "clockarb": 29, "toward": 29, "en": [29, 32], "wikipedia": 29, "org": 29, "wiki": 29, "path_trac": 29, "gltfmateri": 29, "matindex": 29, "emitt": 29, "tangent": 29, "bitang": 29, "world_norm": 29, "world_posit": 29, "raydirect": 29, "cos_theta": 29, "m_pi": 29, "brdf": 29, "lambertian": 29, "albedo": 29, "texturesmap": 29, "texcoord0": 29, "100000000": 29, "incom": 29, "nt": 29, "nb": 29, "sq": 29, "01": [29, 37], "weight": 29, "curweight": 29, "spv_khr_ray_trac": [31, 32], "spv_khr_ray_queri": [31, 32], "glsl_ext_ray_flags_primitive_cul": [31, 32], "vkaccelerationstructurebuildsizeskhr": 31, "vkcmddraw": [31, 37], "vkcmddrawindirect": 31, "rq": 31, "accstruct": 31, "travers": 31, "store": 31, "inform": 31, "about": 31, "first": [31, 43], "vkbuildaccelerationstructureskhr": [31, 32], "vkcopyaccelerationstructurekhr": 31, "vkcopymemorytoaccelerationstructurekhr": 31, "vkcopyaccelerationstructuretomemorykhr": 31, "vkcreatedeferredoperationkhr": 31, "vk_operation_deferred_khr": 31, "vk_operation_not_deferred_khr": 31, "vkdeferredoperationjoinkhr": 31, "vk_thread_done_khr": 31, "join": 31, "vk_thread_idle_khr": 31, "vkgetdeferredoperationresultkhr": 31, "directx": 32, "dxr": 32, "2020": 32, "vk_khr_ray_trac": 32, "162": 32, "vulkan_beta": [32, 41], "vulkan_cor": [32, 37, 41], "vk_enable_beta_extens": [32, 41], "descriptorindex": 32, "vkd3d": 32, "proton": 32, "vkaccelerationstructurenv": 32, "moltenvk": 32, "nulldescriptor": 32, "vk_ext_robustness2": 32, "vk_descriptor_set_layout_create_update_after_bind_pool_bit": 32, "opconvertutoaccelerationstructurekhr": 32, "optypeaccelerationstructurekhr": 32, "optraceraykhr": 32, "opexecutecallablekhr": 32, "spv_nv_ray_trac": 32, "opignoreintersectionkhr": 32, "opterminateraykhr": 32, "raytracingkhr": 32, "shaderrecordbufferkhr": 32, "storagebuff": 32, "opreportintersectionkhr": 32, "vk_khr_vulkan_memory_model": 32, "volatil": 32, "oprayqueryinitializekhr": 32, "rayquerykhr": 32, "hitt": 32, "oprayquerygenerateintersectionkhr": 32, "shape": 32, "self": 32, "contain": [32, 43], "vk_buffer_usage_indirect_buffer_bit": [32, 39], "vk_access_indirect_command_read_bit": 32, "vkcmdcopyaccelerationstructuretomemorykhr": 32, "vkcmdcopymemorytoaccelerationstructurekhr": 32, "vk_pipeline_stage_draw_indirect_bit": 32, "driver": [32, 37], "kb": 32, "rn": 32, "rad": 32, "win": 32, "vrt": 32, "beta": 32, "intel": [32, 37], "xe": 32, "hpg": 32, "practic": 32, "hybrid": 32, "wolfenstein": 32, "youngblood": 32, "tutori": 32, "slack": 32, "tracker": 32, "defer": 33, "oper": 33, "descriptor": 33, "pdevic": [35, 37], "vkdevicecreateflag": [35, 37], "queuecreateinfocount": [35, 37], "pqueuecreateinfo": [35, 37], "penabledfeatur": [35, 37], "vkdevicequeuecreateflag": [35, 37], "queuefamilyindex": [35, 37], "pqueueprior": [35, 37], "vk_structure_type_device_queue_create_info": [35, 37], "vkdevicequeuecreateflagbit": 35, "vkenumerateinstanceextensionproperti": [35, 37], "vk_khr_swapchain": 35, "vk_khr_display": 35, "vk_khr_display_swapchain": 35, "vk_ext_mesh_shad": 35, "vk_khr_dynamic_rend": 35, "vk_khr_external_memori": 35, "robustbufferaccess": 35, "fulldrawindexuint32": 35, "imagecubearray": 35, "independentblend": 35, "geometryshad": 35, "tessellationshad": 35, "samplerateshad": 35, "dualsrcblend": 35, "logicop": 35, "multidrawindirect": 35, "drawindirectfirstinst": 35, "depthclamp": 35, "depthbiasclamp": 35, "fillmodenonsolid": 35, "depthbound": 35, "widelin": 35, "largepoint": 35, "alphatoon": 35, "multiviewport": 35, "sampleranisotropi": 35, "texturecompressionetc2": 35, "texturecompressionastc_ldr": 35, "texturecompressionbc": 35, "occlusionqueryprecis": 35, "pipelinestatisticsqueri": 35, "vertexpipelinestoresandatom": 35, "fragmentstoresandatom": 35, "shadertessellationandgeometrypoints": 35, "shaderimagegatherextend": 35, "shaderstorageimageextendedformat": 35, "shaderstorageimagemultisampl": 35, "shaderstorageimagereadwithoutformat": 35, "shaderstorageimagewritewithoutformat": 35, "shaderuniformbufferarraydynamicindex": 35, "shadersampledimagearraydynamicindex": 35, "shaderstoragebufferarraydynamicindex": 35, "shaderstorageimagearraydynamicindex": 35, "shaderclipdist": 35, "shaderculldist": 35, "shaderfloat64": 35, "shaderint64": 35, "shaderint16": 35, "shaderresourceresid": 35, "shaderresourceminlod": 35, "sparsebind": 35, "sparseresidencybuff": 35, "sparseresidencyimage2d": 35, "sparseresidencyimage3d": 35, "sparseresidency2sampl": 35, "sparseresidency4sampl": 35, "sparseresidency8sampl": 35, "sparseresidency16sampl": 35, "sparseresidencyalias": 35, "variablemultisampler": 35, "inheritedqueri": 35, "support_graphics_queue_family_index": 35, "queue_prior": 35, "device_queue_create_info": [35, 37], "enable_device_extens": 35, "extension_property_item": 35, "strcmp": 35, "empti": 35, "support_physical_device_featur": 35, "enable_physical_device_featur": 35, "device_create_info": [35, 37], "vkgetdevicequeu": 35, "queueindex": [35, 37], "vkqueue": [35, 37], "pqueue": [35, 37], "graphics_queue_0": 35, "graphics_queue_1": 35, "vkcreat": 36, "vkdestroy": 36, "vkcreateinst": [36, 38, 41], "vkdestroyinst": 36, "vkdestroydevic": 36, "malloc": [36, 37], "puserdata": 36, "pfnalloc": 36, "pfnrealloc": 36, "pfnfree": 36, "pfninternalalloc": 36, "pfninternalfre": 36, "vkapi_ptr": [36, 37], "allocationscop": 36, "demo": [36, 41], "short": 36, "cstdlib": 36, "aligned_alloc": 36, "pfn_alloc": 36, "_aligned_malloc": 36, "memalign": 36, "stdlib": 36, "alignedmalloc": 36, "meta_point_s": 36, "aligned_s": 36, "meta_s": 36, "uintptr_t": 36, "aligned_meta": 36, "alignment_s": 36, "porigin": 36, "realloc": 36, "new_memori": 36, "pfn_realloc": 36, "_aligned_realloc": 36, "malloc_usable_s": 36, "alignedrealloc": 36, "get_aligned_memory_s": 36, "new_meta": 36, "alignedfre": 36, "pmemori": [36, 37], "pfn_free": 36, "_aligned_fre": 36, "get_aligned_meta": 36, "allocationtyp": 36, "vk_system_allocation_scope_command": 36, "vk_system_allocation_scope_object": 36, "vk_system_allocation_scope_cach": 36, "vk_system_allocation_scope_devic": 36, "vk_system_allocation_scope_inst": 36, "vkvalidationcacheext": 36, "vk_internal_allocation_type_execut": 36, "memory_in_us": 36, "_aligned_ms": 36, "internalallocationnotif": 36, "internalfreenotif": 36, "getvkallocationcallback": 36, "vk_allocation_callback": 36, "vkinstancecreateinfo": [36, 41], "allocation_callback": 36, "getalignedmemorys": 36, "pmemoryproperti": [36, 37], "memorytypecount": [36, 37], "memorytyp": [36, 37], "memoryheapcount": [36, 37], "memoryheap": [36, 37], "32u": [36, 37], "16u": [36, 37], "vkmemoryheapflag": [36, 37], "vk_memory_heap_device_local_bit": [36, 37], "vkmemorypropertyflag": [36, 37], "propertyflag": [36, 37], "heapindex": [36, 37], "vk_memory_property_device_local_bit": [36, 37], "vk_memory_property_lazily_allocated_bit": [36, 37], "pallocateinfo": [36, 37], "allocations": [36, 37], "memorytypeindex": [36, 37], "vk_structure_type_memory_allocate_info": [36, 37], "memory_allocate_info": [36, 37], "device_memori": [36, 37], "vkphysicaldevicelimit": [36, 37, 41], "minmemorymapalign": [36, 38], "vk_error_memory_map_fail": 36, "device_memory_ptr": 36, "memoryrangecount": 36, "pmemoryrang": 36, "vk_structure_type_mapped_memory_rang": 36, "mapped_memory_rang": 36, "meta_d": 36, "srcbuffer": 37, "dstbuffer": 37, "vk_define_handl": 37, "_t": 37, "vkinstance_t": 37, "privatedata": 37, "vk_define_non_dispatchable_handl": [37, 39], "ifndef": 37, "vk_use_64_bit_ptr_defin": 37, "__lp64__": 37, "__x86_64__": 37, "__ilp32__": 37, "_m_x64": 37, "__ia64": 37, "_m_ia64": 37, "__aarch64__": 37, "__powerpc64__": 37, "vkbuffer_t": 37, "vkevent": 37, "vkbufferview": 37, "vkimageview": 37, "vkrenderpass": 37, "vksampler": 37, "vkframebuff": 37, "vkcommandpool": 37, "__cplusplus": 37, "201103l": 37, "_msvc_lang": 37, "0ull": 37, "python": 37, "dll": [37, 41], "libvulkan": [37, 41], "link": [37, 43], "previous": 37, "it": [37, 43], "was": 37, "remov": [37, 43], "no": [37, 43], "longer": 37, "decis": 37, "becaus": 37, "which": [37, 43], "made": 37, "older": 37, "unabl": 37, "find": 37, "newer": 37, "hmodul": 37, "librari": 37, "loadlibrarya": 37, "dlfcn": 37, "dlopen": 37, "rtld_now": 37, "rtld_local": 37, "vkenumerateinstancelayerproperti": 37, "pfn_vkcreateinst": 37, "pfn_vkgetinstanceprocaddr": 37, "getprocaddress": 37, "dlsym": 37, "vk_structure_type_max_enum": 37, "vk_khr_portability_enumer": 37, "vk_instance_create_enumerate_portability_bit_khr": 37, "flagbit": 37, "like_cat_bit": 37, "0x1": 37, "like_dog_bit": 37, "0x2": 37, "like": [37, 43], "like_cat_bi": 37, "vkcolorcomponentflag": 37, "vkcolorcomponentflagbit": 37, "vk_color_component_r_bit": 37, "vk_color_component_g_bit": 37, "vk_color_component_b_bit": 37, "vk_color_component_a_bit": 37, "0001": 37, "0010": 37, "0x4": 37, "0100": 37, "0x8": 37, "color_component_flag": 37, "is_open_r": 37, "is_open_g": 37, "is_open_b": 37, "is_open_a": 37, "vk_error_incompatible_driv": 37, "pfn_vkenumerateinstancevers": 37, "pphysicaldevicecount": [37, 38], "pphysicaldevic": [37, 38], "vkcreatephysicaldevic": 37, "pfn_vkenumeratephysicaldevic": 37, "physical_device_count": [37, 38], "driververs": [37, 38, 41], "vendorid": [37, 38, 41], "deviceid": [37, 38, 41], "devicetyp": [37, 38, 41], "devicenam": [37, 38, 41], "vk_max_physical_device_name_s": [37, 38, 41], "pipelinecacheuuid": [37, 38, 41], "limit": [37, 38, 41], "vkphysicaldevicesparseproperti": [37, 41], "sparseproperti": [37, 38, 41], "univers": [37, 38], "uniqu": [37, 38], "identifi": [37, 38], "vk_physical_device_type_oth": [37, 38], "vk_physical_device_type_integrated_gpu": [37, 38], "vk_physical_device_type_discrete_gpu": [37, 38], "vk_physical_device_type_virtual_gpu": [37, 38], "pfn_vkgetphysicaldeviceproperti": 37, "physical_device_properti": [37, 38], "cout": 37, "endl": 37, "pfn_vkgetphysicaldevicequeuefamilyproperti": 37, "pfn_vkcreatedevic": 37, "queue_prioriti": 37, "pfn_vkgetdeviceprocaddr": 37, "pfn_vk": 37, "pfn_vkgetdevicequeu": 37, "vk_max_memory_heap": 37, "vk_memory_property_protected_bit": 37, "0x00000020": [37, 39], "vkflushmappedmemoryrang": 37, "vkinvalidatemappedmemoryrang": 37, "vk_memory_heap_multi_instance_bit": 37, "pfn_vkgetphysicaldevicememoryproperti": 37, "physical_device_memory_properti": 37, "memory_type_index": 37, "memory_typ": 37, "supprt": 37, "device_loc": 37, "host_vis": 37, "host_coher": 37, "heap_index": 37, "memory_heap": 37, "heap": 37, "1024": 37, "vkallocatememori": 37, "pfn_vkallocatememori": 37, "1kb": 37, "pfn_vkfreememori": 37, "pbuffer": [37, 39], "vkbuffercreateflag": 37, "usag": [37, 39], "sharingmod": [37, 39], "queuefamilyindexcount": [37, 39], "pqueuefamilyindic": [37, 39], "vk_structure_type_buffer_create_info": [37, 39], "vk_sharing_mode_concurr": [37, 39], "vk_buffer_usage_uniform_buffer_bit": [37, 39], "0x00000040": [37, 39], "0x00000080": [37, 39], "vk_sharing_mode_exclus": [37, 39], "pfn_vkcreatebuff": 37, "positionandcolor": 37, "position_and_color": 37, "buffer_create_info": [37, 39], "pimag": 37, "vkimagecreateflag": 37, "imagetyp": 37, "extent": 37, "miplevel": 37, "arraylay": 37, "tile": 37, "initiallayout": 37, "vk_structure_type_image_create_info": 37, "vk_image_type_1d": 37, "vk_image_type_2d": 37, "vk_image_type_3d": 37, "vk_format_b8g8r8a8_unorm": 37, "44": 37, "vk_format_b8g8r8a8_srgb": 37, "bgra": 37, "unorm": 37, "srgb": 37, "standard": 37, "red": 37, "green": 37, "blue": 37, "rgba": 37, "vk_sample_count_1_bit": 37, "vk_sample_count_2_bit": 37, "vk_sample_count_4_bit": 37, "vk_sample_count_8_bit": 37, "vk_sample_count_16_bit": 37, "vk_sample_count_32_bit": 37, "vk_sample_count_64_bit": 37, "vk_image_tiling_optim": 37, "vk_image_tiling_linear": 37, "vkimageusageflagbit": 37, "vk_image_usage_sampled_bit": 37, "vk_image_usage_storage_bit": 37, "vk_image_usage_color_attachment_bit": 37, "vk_image_usage_depth_stencil_attachment_bit": 37, "vk_image_usage_transient_attachment_bit": 37, "vk_image_usage_input_attachment_bit": 37, "vk_image_layout_undefin": 37, "vk_image_layout_color_attachment_optim": 37, "vk_image_layout_preiniti": 37, "cubemap": 37, "1920": 37, "1080": 37, "pfn_vkcreateimag": 37, "image_create_info": 37, "512": 37, "pview": 37, "vkimageviewcreateflag": 37, "viewtyp": 37, "compon": 37, "subresourcerang": 37, "vk_structure_type_image_view_create_info": 37, "vk_image_view_type_1d": 37, "vk_image_view_type_2d": 37, "vk_image_view_type_3d": 37, "vk_image_view_type_cub": 37, "vk_image_view_type_1d_array": 37, "vk_image_view_type_2d_array": 37, "vk_image_view_type_cube_array": 37, "vk_image_view_type_": 37, "_array": 37, "vk_component_swizzle_ident": 37, "vk_component_swizzle_zero": 37, "vk_component_swizzle_on": 37, "vk_component_swizzle_r": 37, "vk_component_swizzle_g": 37, "vk_component_swizzle_b": 37, "vk_component_swizzle_a": 37, "aspectmask": 37, "basemiplevel": 37, "levelcount": 37, "basearraylay": 37, "layercount": 37, "vkimageaspectflagbit": 37, "vk_image_aspect_color_bit": 37, "vk_image_aspect_depth_bit": 37, "vk_image_aspect_stencil_bit": 37, "vk_image_aspect_metadata_bit": 37, "color_imag": 37, "color_image_subresource_rang": 37, "component_map": 37, "color_image_view_create_info": 37, "color_image_view": 37, "pmemoryrequir": 37, "113": 37, "0000": 37, "1011": 37, "memory_requir": 37, "0x01": 37, "allocate_memory_result": 37, "memoryoffset": 37, "vkmemorymapflag": 37, "ppdata": 37, "memory_s": 37, "byte": 37, "memory_ptr": 37, "regioncount": 37, "vkbuffercopi": 37, "pregion": 37, "srcoffset": 37, "dstoffset": 37, "host_visible_device_memori": 37, "device_local_device_memori": 37, "copy_buffer_command_buff": 37, "buffer_copi": 37, "vkcmdfillbuff": 37, "vkcmdcopybuffertoimag": 37, "vkcmdblitimag": 37, "vkcmdresolveimag": 37, "vkcmd": 37, "pci": 37, "vkcreatecommandbuff": 37, "pcommandpool": 37, "vkcommandpoolcreateflag": 37, "vk_structure_type_command_pool_create_info": 37, "vk_command_pool_create_transient_bit": 37, "vk_command_pool_create_reset_command_buffer_bit": 37, "command_pool_create_info": 37, "command_pool": 37, "vkallocatecommandbuff": 37, "pcommandbuff": 37, "commandbuffercount": 37, "vk_structure_type_command_buffer_allocate_info": 37, "vk_command_buffer_level_primari": 37, "vk_command_buffer_level_secondari": 37, "command_buffer_allocate_info": 37, "command_buff": 37, "pbegininfo": 37, "vkcommandbufferinheritanceinfo": 37, "vk_structure_type_command_buffer_begin_info": 37, "vkcommandbufferusageflagbit": 37, "vk_command_buffer_usage_render_pass_continue_bit": 37, "command_buffer_begin_info": 37, "submitcount": 37, "psubmit": 37, "fenc": 37, "waitsemaphorecount": 37, "pwaitsemaphor": 37, "vkpipelinestageflag": 37, "pwaitdststagemask": 37, "signalsemaphorecount": 37, "psignalsemaphor": 37, "vk_structure_type_submit_info": 37, "submit_info": 37, "pfenc": 37, "vk_structure_type_fence_create_info": 37, "vkfencecreateflagbit": 37, "vk_fence_create_signaled_bit": 37, "fence_create_info": 37, "fencecount": 37, "waital": 37, "timeout": 37, "vk_timeout": 37, "vk_error_unknown": 37, "do": 37, "3000000": 37, "vkapplicationinfo": [38, 41], "vk_physical_device_type_cpu": 38, "maximagedimension1d": 38, "maximagedimension2d": 38, "maximagedimension3d": 38, "maximagedimensioncub": 38, "maximagearraylay": 38, "maxtexelbufferel": 38, "maxuniformbufferrang": 38, "maxstoragebufferrang": 38, "maxpushconstantss": 38, "maxmemoryallocationcount": 38, "maxsamplerallocationcount": 38, "bufferimagegranular": 38, "sparseaddressspaces": 38, "maxbounddescriptorset": 38, "maxperstagedescriptorsampl": 38, "maxperstagedescriptoruniformbuff": 38, "maxperstagedescriptorstoragebuff": 38, "maxperstagedescriptorsampledimag": 38, "maxperstagedescriptorstorageimag": 38, "maxperstagedescriptorinputattach": 38, "maxperstageresourc": 38, "maxdescriptorsetsampl": 38, "maxdescriptorsetuniformbuff": 38, "maxdescriptorsetuniformbuffersdynam": 38, "maxdescriptorsetstoragebuff": 38, "maxdescriptorsetstoragebuffersdynam": 38, "maxdescriptorsetsampledimag": 38, "maxdescriptorsetstorageimag": 38, "maxdescriptorsetinputattach": 38, "maxvertexinputattribut": 38, "maxvertexinputbind": 38, "maxvertexinputattributeoffset": 38, "maxvertexoutputcompon": 38, "maxtessellationgenerationlevel": 38, "maxtessellationpatchs": 38, "maxtessellationcontrolpervertexinputcompon": 38, "maxtessellationcontrolpervertexoutputcompon": 38, "maxtessellationcontrolperpatchoutputcompon": 38, "maxtessellationcontroltotaloutputcompon": 38, "maxtessellationevaluationinputcompon": 38, "maxtessellationevaluationoutputcompon": 38, "maxgeometryshaderinvoc": 38, "maxgeometryinputcompon": 38, "maxgeometryoutputcompon": 38, "maxgeometryoutputvertic": 38, "maxgeometrytotaloutputcompon": 38, "maxfragmentinputcompon": 38, "maxfragmentoutputattach": 38, "maxfragmentdualsrcattach": 38, "maxfragmentcombinedoutputresourc": 38, "maxcomputesharedmemorys": 38, "maxcomputeworkgroupcount": 38, "maxcomputeworkgroupinvoc": 38, "maxcomputeworkgroups": 38, "subpixelprecisionbit": 38, "subtexelprecisionbit": 38, "mipmapprecisionbit": 38, "maxdrawindexedindexvalu": 38, "maxdrawindirectcount": 38, "maxsamplerlodbia": 38, "maxsampleranisotropi": 38, "maxviewport": 38, "maxviewportdimens": 38, "viewportboundsrang": 38, "viewportsubpixelbit": 38, "mintexelbufferoffsetalign": 38, "minuniformbufferoffsetalign": 38, "minstoragebufferoffsetalign": 38, "mintexeloffset": 38, "maxtexeloffset": 38, "mintexelgatheroffset": 38, "maxtexelgatheroffset": 38, "mininterpolationoffset": 38, "maxinterpolationoffset": 38, "subpixelinterpolationoffsetbit": 38, "maxframebufferwidth": 38, "maxframebufferheight": 38, "maxframebufferlay": 38, "vksamplecountflag": 38, "framebuffercolorsamplecount": 38, "framebufferdepthsamplecount": 38, "framebufferstencilsamplecount": 38, "framebuffernoattachmentssamplecount": 38, "maxcolorattach": 38, "sampledimagecolorsamplecount": 38, "sampledimageintegersamplecount": 38, "sampledimagedepthsamplecount": 38, "sampledimagestencilsamplecount": 38, "storageimagesamplecount": 38, "maxsamplemaskword": 38, "timestampcomputeandgraph": 38, "timestampperiod": 38, "maxclipdist": 38, "maxculldist": 38, "maxcombinedclipandculldist": 38, "discretequeueprior": 38, "pointsizerang": 38, "linewidthrang": 38, "pointsizegranular": 38, "linewidthgranular": 38, "strictlin": 38, "standardsampleloc": 38, "optimalbuffercopyoffsetalign": 38, "optimalbuffercopyrowpitchalign": 38, "noncoherentatoms": 38, "target_physical_devic": 38, "vkbuffercreateflagbit": 39, "vk_buffer_usage_transfer_dst_bit": 39, "vk_buffer_usage_uniform_texel_buffer_bit": 39, "vk_buffer_usage_storage_texel_buffer_bit": 39, "0x00000100": 39, "255": 39, "vkdestroybuff": 39, "tab": 41, "maco": 41, "vulkansdk": 41, "189": 41, "maintenancetool": 41, "exe": 41, "vulkan_sdk": 41, "vk_sdk_path": 41, "home": 41, "sha256sum": 41, "yy": 41, "tar": 41, "gz": 41, "xf": 41, "ubuntu": 41, "04": 41, "sudo": 41, "apt": 41, "instal": 41, "qtbase5": 41, "dev": 41, "libxcb": 41, "xinput0": 41, "xinerama0": 41, "qt5": 41, "fedora": 41, "dnf": 41, "qt": 41, "xinput": 41, "libxinerama": 41, "arch": 41, "pacman": 41, "ld_library_path": 41, "vk_layer_path": 41, "etc": 41, "explicit_lay": 41, "vk_add_layer_path": 41, "env": 41, "export": 41, "shell": 41, "profil": 41, "rm": [41, 43], "rf": [41, 43], "vkcube": 41, "70": 41, "130": 41, "vulkan1": 41, "vkphysicaldevicetyp": 41, "runtim": 41, "vulkaninfo": 41, "vk_make_vers": 41, "vk_version_major": 41, "vk_version_minor": 41, "vk_version_patch": 41, "major": 41, "minor": 41, "22u": 41, "12u": 41, "0x3ffu": 41, "0xfffu": 41, "175": 41, "variant": 41, "29u": 41, "vk_api_version_vari": 41, "vk_api_version_major": 41, "0x7fu": 41, "vk_api_version_minor": 41, "vk_api_version_patch": 41, "vk_header_vers": 41, "247": 41, "vk_header_version_complet": 41, "api_version_1_0": 41, "api_version_vari": 41, "api_version_major": 41, "api_version_minor": 41, "api_version_patch": 41, "vk_video": 41, "vk_platform": 41, "vk_use_platform_android_khr": 41, "vulkan_android": 41, "vk_use_platform_wayland_khr": 41, "vulkan_wayland": 41, "vk_use_platform_win32_khr": 41, "vulkan_win32": 41, "vk_use_platform_xcb_khr": 41, "vulkan_xcb": 41, "vk_use_platform_xlib_khr": 41, "x11": 41, "vulkan_xlib": 41, "vulkan_h_": 41, "vk_enum_string_help": 41, "header": [41, 42, 43], "246": 41, "json": 41, "sdl2": 41, "share": 41, "spirv_reflect": 41, "vkvia": 41, "analyz": 41, "html": 41, "vkconfig": 41, "glslangvalid": 41, "glslang": 41, "shaderc": 41, "spirv_cross": 41, "visualstudio": 41, "user": [41, 43], "usernam": 41, "document": 41, "projecttempl": 41, "vulkanmemoryalloc": 41, "essenti": 42, "uniti": 42, "program": 42, "guid": 42, "offici": 42, "learn": 42, "vulkansampl": 42, "vkenumeratephysicaldevic": 42, "vkgetphysicaldevicequeuefamilyproperti": 42, "vkqueuefamilyproperti": 42, "agdk": 42, "activ": 42, "android_main": 42, "gameact": 42, "f12": 42, "plaintext": 43, "markup languag": 43, "rent": 43, "plain": 43, "badg": 43, "primari": 43, "line": 43, "secondari": 43, "success": 43, "danger": 43, "dark": 43, "content": 43, "footer": 43, "one": 43, "two": 43, "three": 43, "bullet": 43, "list": 43, "has": 43, "second": 43, "too": 43, "nest": 43, "some": 43, "subitem": 43, "parent": 43, "continu": 43, "term": 43, "definit": 43, "must": 43, "indent": 43, "even": 43, "consist": 43, "multipl": 43, "paragraph": 43, "these": 43, "broken": 43, "exact": 43, "except": 43, "span": 43, "again": 43, "row": 43, "column": 43, "bodi": 43, "an": 43, "equat": 43, "x_": 43, "x_0": 43, "x_1": 43, "x_2": 43, "x_3": 43, "x_4": 43, "anoth": 43, "partial": 43, "phi": 43, "you": 43, "abov": 43, "eq": 43, "fieldnam": 43, "def": 43, "my_funct": 43, "my_arg": 43, "my_other_arg": 43, "just": 43, "me": 43, "param": 43, "my": 43, "messag": 43, "interpret": 43, "abbrevi": 43, "acronym": 43, "emphasi": 43, "liter": 43, "strong": 43, "subscript": 43, "superscript": 43, "refer": 43, "pleas": 43, "rtfm": 43, "read": 43, "fine": 43, "manual": 43, "citat": 43, "cit2002": 43, "footnot": 43, "label": 43, "textual": 43, "click": 43, "intern": 43, "hyperlink": 43, "take": 43, "us": 43, "below": 43, "larch": 43, "howev": 43, "bewar": 43, "killer": 43, "rabbit": 43, "myclass": 43, "mybas": 43, "myotherbas": 43, "admonit": 43, "all": 43, "follow": 43, "attent": 43, "caution": 43, "hint": 43, "tip": 43, "make": 43, "your": 43, "own": 43, "caption": 43, "figur": 43, "simpl": 43, "legend": 43, "after": 43, "symbol": 43, "campground": 43, "lake": 43, "mountain": 43, "might": 43, "custom": 43, "subsequ": 43, "compris": 43, "subtitl": 43, "decor": 43, "docinfo": 43, "transit": 43, "print": 43, "matter": 43, "where": 43, "go": 43, "there": 43, "buckaroo": 43, "banzai": 43, "highlight": 43, "pull": 43, "quot": 43, "veri": 43, "log": 43, "root": 43, "enter": 43, "eras": 43, "entir": 43, "treat": 43, "quantiti": 43, "albatross": 43, "99": 43, "stick": 43, "crunchi": 43, "frog": 43, "49": 43, "we": 43, "took": 43, "bone": 43, "wouldn": 43, "would": 43, "gannet": 43, "rippl": 43, "exampl": 43, "role": 43, "foo": 43, "lorem": 43, "ipsum": 43, "ref": 43, "dolor": 43, "sit": 43, "amet": 43, "book": 43, "or": 43, "url": 43, "whatev": 43, "replac": 43, "try1_stmt": 43, "try2_stmt": 43, "tri": 43, "suit": 43, "express": 43, "final": 43, "section": 43, "itself": 43}, "objects": {"": [[43, 0, 1, "_CPPv47MyClass", "MyClass"]], "some.module.name": [[43, 1, 1, "", "foo"]]}, "objtypes": {"0": "cpp:class", "1": "py:function"}, "objnames": {"0": ["cpp", "class", "C++ \u7c7b"], "1": ["py", "function", "Python \u51fd\u6570"]}, "titleterms": {"perlin": 0, "nois": 0, "worley": 0, "fractal": 0, "brownian": 0, "motion": 0, "fbm": 0, "raymarch": 0, "remap": 0, "post": 0, "process": 0, "extinct": 0, "singl": 0, "scatter": 0, "albedo": 0, "radiat": 0, "transfer": 0, "equat": 0, "volum": 0, "render": [0, 37], "close": 0, "form": 0, "track": 0, "webgpu": [1, 2, 3], "hello": 1, "triangl": 1, "imgui": 2, "shader": [3, 19, 21], "compil": 3, "2024": 5, "29": 5, "28": 5, "27": 5, "26": 5, "24": 5, "23": 5, "19": 5, "17": 5, "16": 5, "15": [5, 19], "14": [5, 19], "10": [5, 19, 29], "21": 5, "30": 5, "25": 5, "20": 5, "2023": 5, "11": [5, 19], "31": 5, "22": 5, "18": 5, "12": [5, 18, 19], "13": [5, 19], "vkgetphysicaldevicequeuefamilyproperti": [6, 37], "vkqueuefamilyproperti": [6, 37], "support_graphics_queue_family_index": [6, 37], "vulkan": [7, 8, 15, 16, 18, 19, 23, 32, 34, 37, 41, 42], "header": 7, "git": 7, "vk_khr_buffer_device_address": 8, "vkgetbufferdeviceaddress": [8, 12], "vkgetbufferdeviceaddresskhr": [8, 12], "vkbufferdeviceaddressinfo": [8, 12], "vkbufferdeviceaddressinfokhr": [8, 12], "vk_memory_allocate_device_address_bit": 8, "vkgetbufferopaquecaptureaddress": 8, "vkgetbufferopaquecaptureaddresskhr": 8, "vkgetdevicememoryopaquecaptureaddress": 8, "vkgetdevicememoryopaquecaptureaddresskhr": 8, "vkdevicememoryopaquecaptureaddressinfo": 8, "vkdevicememoryopaquecaptureaddressinfokhr": 8, "visual": 9, "studio": 9, "code": 9, "f12": 9, "android": 10, "agdk": 10, "game": 10, "activ": 10, "android_main": 10, "cmake": 10, "gameact": 10, "vkraytracingshadergroupcreateinfokhr": [11, 14], "vk_khr_acceleration_structur": [12, 31], "host": [12, 19, 32, 37], "devic": [12, 37], "vkaccelerationstructurebuildgeometryinfokhr": 12, "vkbuildaccelerationstructureflagbitskhr": 12, "vkbuildaccelerationstructuremodekhr": 12, "vkdeviceorhostaddresskhr": 12, "vkdeviceorhostaddressconstkhr": 12, "vkaccelerationstructuregeometrykhr": [12, 19], "vkgeometrytypekhr": 12, "vkgeometryflagbitskhr": 12, "vkaccelerationstructuregeometrydatakhr": 12, "vkaccelerationstructuregeometrytrianglesdatakhr": 12, "vktransformmatrixkhr": 12, "vkaccelerationstructuregeometryaabbsdatakhr": 12, "vkaabbpositionskhr": 12, "vkaccelerationstructuregeometryinstancesdatakhr": 12, "vkaccelerationstructureinstancekhr": 12, "vkgeometryinstanceflagbitskhr": 12, "vkgetaccelerationstructurebuildsizeskhr": 12, "vkaccelerationstructurebuildtypekhr": 12, "vkaccelerationstructurebuildsizesinfokhr": 12, "vkcreateaccelerationstructurekhr": 12, "vkaccelerationstructurecreateinfokhr": 12, "vkaccelerationstructuremotioninfonv": 12, "vk_build_acceleration_structure_motion_bit_nv": 12, "vkaccelerationstructuretypekhr": 12, "vkaccelerationstructurecreateflagbitskhr": 12, "64": 12, "vkgetaccelerationstructuredeviceaddresskhr": 12, "vkaccelerationstructuredeviceaddressinfokhr": 12, "vkdestroyaccelerationstructurekhr": 12, "vkcmdbuildaccelerationstructureskhr": 12, "vkaccelerationstructurebuildrangeinfokhr": [12, 19], "vkcmdwriteaccelerationstructurespropertieskhr": 12, "vkcmdcopyaccelerationstructurekhr": 12, "vkcopyaccelerationstructureinfokhr": 12, "vkcmdcopyaccelerationstructuretomemorykhr": 12, "vkcopyaccelerationstructuretomemoryinfokhr": 12, "vkcmdcopymemorytoaccelerationstructurekhr": 12, "vkcopymemorytoaccelerationstructureinfokhr": 12, "vkgetdeviceaccelerationstructurecompatibilitykhr": 12, "vkaccelerationstructureversioninfokhr": 12, "vkaccelerationstructurecompatibilitykhr": 12, "vkbuildaccelerationstructureskhr": 12, "vkcopyaccelerationstructurekhr": 12, "vkcopymemorytoaccelerationstructurekhr": 12, "vkcopyaccelerationstructuretomemorykhr": 12, "vkwriteaccelerationstructurespropertieskhr": 12, "vk_khr_deferred_host_oper": [13, 31], "vk_khr_ray_tracing_pipelin": [14, 31], "vkbufferusageflagbit": [14, 39], "vkdynamicst": 14, "vkpipelinebindpoint": 14, "vkpipelinestageflagbit": 14, "vkshaderstageflagbit": 14, "vkphysicaldeviceraytracingpipelinefeatureskhr": 14, "vkphysicaldeviceraytracingpipelinepropertieskhr": 14, "vkcreateraytracingpipelineskhr": 14, "vkraytracingpipelinecreateinfokhr": 14, "vkraytracingshadergrouptypekhr": 14, "vkpipelinelibrarycreateinfokhr": 14, "vkraytracingpipelineinterfacecreateinfokhr": 14, "vkgetraytracingshadergrouphandleskhr": 14, "vkgetraytracingcapturereplayshadergrouphandleskhr": 14, "vkgetraytracingshadergroupstacksizekhr": 14, "vkshadergroupshaderkhr": 14, "vkcmdsetraytracingpipelinestacksizekhr": 14, "khr": 15, "vkinstanc": [17, 37], "vkcreateinst": [17, 37], "vkinstancecreateinfo": [17, 37], "vkapplicationinfo": [17, 37], "vkenumerateinstancevers": [17, 37], "layer": [17, 37, 41], "vkenumerateinstancelayerproperti": 17, "vklayerproperti": 17, "extens": 17, "vkenumerateinstanceextensionproperti": 17, "vkextensionproperti": [17, 35], "vkdestroyinst": 17, "khrono": 18, "opengl": 18, "directx": 18, "nvidia": 19, "turbo": [19, 20, 21, 23, 24, 25, 26, 28], "github": 19, "main": [19, 26], "raytracingbuild": [19, 20], "buildbla": 19, "256mb": 19, "cmdcreatebla": 19, "cmdcompactbla": 19, "gl_instanceid": 19, "m_instanc": 19, "inst": 19, "transform": 19, "objindex": 19, "getblasdeviceaddress": 19, "uint32_t": 19, "blasid": 19, "buildtla": [19, 20], "descriptor": 19, "set": 19, "sm": 19, "praygenshaderbindingt": 19, "nsight": 19, "sbtwrapper": 19, "raytrac": [19, 24, 26, 28], "rgen": [19, 26, 28], "bind": 19, "raypayloadext": 19, "locat": 19, "raypayloadinext": 19, "miss": 19, "rchit": [19, 24, 26, 28], "alia": 19, "wavefront": 19, "glsl": [19, 28], "createraytracingpipelin": 19, "download": 19, "shadow": 19, "creatertshaderbindingt": [19, 26], "creatertdescriptorset": 19, "nvvk": 20, "anim": 20, "comp": 20, "ani": 21, "hit": 21, "obj": 21, "tracerayext": 21, "dont_use_cal": 22, "dma": 23, "hello_vulkan": [23, 26, 27], "cpp": [23, 26], "vma": 23, "rint": 24, "raytrace2": [24, 26], "ui": 25, "creatertpipelin": 26, "shaderrecordkhr": 26, "hellovulkan": 26, "raycommon": 28, "rmiss": 28, "gltf": 29, "std": 29, "vector": 29, "primmeshinfo": 29, "primlookup": 29, "name_vk": 29, "m_gltfscene": 29, "m_node": 29, "depth": 29, "createcoordinatesystem": 29, "samplinghemispher": 29, "prd": 29, "hitvalu": 29, "rtx": 30, "vk_khr_ray_queri": 31, "vk_khr_pipeline_librari": 31, "acceler": 32, "structur": 32, "defer": 32, "oper": 32, "vkcreatedevic": [35, 37], "vkdevicecreateinfo": [35, 37], "vkdevicequeuecreateinfo": [35, 37], "flag": 35, "vkenumeratedeviceextensionproperti": 35, "vkgetphysicaldevicefeatur": 35, "vkphysicaldevicefeatur": 35, "vkdestroydevic": 35, "pfn_vkallocationfunct": 36, "pfn_vkreallocationfunct": 36, "pfn_vkfreefunct": 36, "pfn_vkinternalallocationnotif": 36, "pfn_vkinternalfreenotif": 36, "vksystemallocationscop": 36, "vkinternalallocationtyp": 36, "vkgetphysicaldevicememoryproperti": [36, 37], "vkphysicaldevicememoryproperti": [36, 37], "vk_max_memory_typ": [36, 37], "vk_max_memory_heap": 36, "vkmemoryheap": [36, 37], "vkmemoryheapflagbit": [36, 37], "vkmemorytyp": [36, 37], "vkmemorypropertyflagbit": [36, 37], "vkallocatememori": 36, "vkmemoryallocateinfo": [36, 37], "vkfreememori": [36, 37], "vkmapmemori": [36, 37], "vkmemorymapflag": 36, "ppdata": 36, "vkunmapmemori": [36, 37], "vkflushmappedmemoryrang": 36, "vkinvalidatemappedmemoryrang": 36, "vkmappedmemoryrang": 36, "dispatch": 37, "non": 37, "physicaldevic": 37, "vkgetinstanceprocaddr": 37, "pfn_": 37, "pfn_vkvoidfunct": 37, "vk_null_handl": 37, "palloc": 37, "vk_success": 37, "stype": 37, "pnext": 37, "vkinstancecreateflag": 37, "vkflag": 37, "vkenumeratephysicaldevic": [37, 38], "vkgetphysicaldeviceproperti": [37, 38, 41], "vkphysicaldeviceproperti": [37, 38], "vkphysicaldevicetyp": [37, 38], "vk_physical_device_type_cpu": 37, "vkqueueflag": 37, "vkqueueflagbit": 37, "vk_queue_graphics_bit": 37, "vkgetdeviceprocaddr": 37, "vkgetdevicequeu": 37, "const": 37, "vkallocationcallback": 37, "vkdevices": 37, "vk": 37, "alloc": 37, "free": 37, "memori": 37, "vkcreatebuff": [37, 39], "vkbuffercreateinfo": [37, 39], "vkbufferusageflag": 37, "vk_buffer_usage_": 37, "_buffer_bit": 37, "vksharingmod": [37, 39], "vk_buffer_usage_transfer_dst_bit": 37, "vk_buffer_usage_vertex_buffer_bit": 37, "vkcreateimag": 37, "vkimagecreateinfo": 37, "vkimagetyp": 37, "vkformat": 37, "vkextent3d": 37, "vksamplecountflagbit": 37, "vkimagetil": 37, "vkimageusageflag": 37, "vk_image_usage_transfer_src_bit": 37, "vk_image_usage_transfer_dst_bit": 37, "vkimagelayout": 37, "vkcreateimageview": 37, "vkimageviewcreateinfo": 37, "vkimageviewtyp": 37, "vkcomponentmap": 37, "vkcomponentswizzl": 37, "vkimagesubresourcerang": 37, "vkimageaspectflag": 37, "vkgetbuffermemoryrequir": 37, "vkgetimagememoryrequir": 37, "vkmemoryrequir": 37, "memorytypebit": 37, "vkbindbuffermemori": 37, "vkbindimagememori": 37, "cpu": 37, "gpu": 37, "vkcreatecommandpool": 37, "vkcommandpoolcreateinfo": 37, "vkcommandpoolcreateflagbit": 37, "vkcommandbufferallocateinfo": 37, "vkcommandbufferlevel": 37, "vkbegincommandbuff": 37, "vkcommandbufferbegininfo": 37, "pinheritanceinfo": 37, "vkcommandbufferusageflag": 37, "pass": 37, "vk_command_buffer_usage_one_time_submit_bit": 37, "vk_command_buffer_usage_simultaneous_use_bit": 37, "vkendcommandbuff": 37, "vkqueuesubmit": 37, "vkfenc": 37, "vksubmitinfo": 37, "vksemaphor": 37, "vkdevicewaitidl": 37, "vkqueuewaitidl": 37, "vkcreatef": 37, "vkfencecreateinfo": 37, "vkfencecreateflag": 37, "vkwaitforf": 37, "vkphysicaldevicelimit": 38, "vkphysicaldevicesparseproperti": 38, "vkbuffercreateflag": 39, "sdk": 41, "loader": 41, "instanc": 41, "lib": 41, "bin": 41, "bin32": 41, "spir": 41, "includ": 41, "lib32": 41, "templat": 41, "biohazard": 42, "test": 43, "math": 43, "this": 43, "is": 43, "head": 43, "and": 43, "by": 43, "the": 43, "way": 43, "topic": 43, "titl": 43, "option": 43, "sidebar": 43, "truth": 43, "tabl": 43, "for": 43, "not": 43, "frozen": 43, "delight": 43}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx_last_updated_by_git": 1, "sphinx": 60}, "alltitles": {"\u4f53\u79ef\u4e91": [[0, "id1"]], "\u6982\u8ff0": [[0, "id2"]], "0 \u80cc\u666f": [[0, "id3"]], "0.1 \u566a\u97f3": [[0, "id4"]], "0.1.1 \u67cf\u6797\u566a\u97f3\uff08Perlin Noise\uff09": [[0, "perlin-noise"]], "0.1.2 \u6c83\u5229\u566a\u97f3 \uff08Worley Noise\uff09": [[0, "worley-noise"]], "0.1.3 \u4e09\u7ef4\u566a\u97f3\u7eb9\u7406": [[0, "id5"]], "0.2 \u5206\u5f62\uff08fractal\uff09": [[0, "fractal"]], "0.2.1 \u5206\u5f62\u5e03\u6717\u8fd0\u52a8\uff08Fractal Brownian Motion\uff0c\u7b80\u79f0FBM\uff09": [[0, "fractal-brownian-motion-fbm"]], "0.3 \u5149\u7ebf\u6b65\u8fdb\uff08Raymarch\uff09": [[0, "raymarch"]], "1 \u4e91\u4f53\u5efa\u6a21": [[0, "id6"]], "1.1 \u67cf\u6797-\u6c83\u5229\u566a\u97f3": [[0, "id7"]], "1.1.1 \u67cf\u6797\u566a\u97f3": [[0, "id8"]], "1.1.2 FBM\u7b97\u6cd5": [[0, "fbm"]], "1.1.3 \u67cf\u6797FBM\u566a\u97f3": [[0, "id9"]], "1.1.4 \u6c83\u5229\u566a\u97f3": [[0, "id10"]], "1.1.5 \u6c83\u5229FBM\u566a\u97f3": [[0, "id11"]], "1.2 \u67cf\u6797-\u6c83\u5229\u566a\u97f3\u5b9e\u73b0": [[0, "id12"]], "1.2.1 \u91cd\u6620\u5c04\u51fd\u6570\uff08Remap\uff09": [[0, "remap"]], "1.2.2 \u67cf\u6797-\u6c83\u5229\u4e09\u7ef4\u566a\u97f3\u7eb9\u7406": [[0, "id13"]], "1.3 \u4e09\u7ef4\u6c83\u5229\u566a\u97f3\u7eb9\u7406": [[0, "id14"]], "2 \u5149\u7ebf\u6b65\u8fdb\u4e0e\u91c7\u6837": [[0, "id15"]], "2.1 \u5149\u7ebf\u6b65\u8fdb": [[0, "id16"]], "2.1.1 \u540e\u5904\u7406\uff08Post Processing\uff09": [[0, "post-processing"]], "2.1.2 \u5149\u7ebf\u6b65\u8fdb\u539f\u7406": [[0, "id17"]], "2.1.2.1 \u5149\u7ebf": [[0, "id18"]], "2.1.2.1.1 \u5176\u4ed6\u5149\u7ebf\u7b97\u6cd5": [[0, "id19"]], "2.1.2.2 \u6b65\u8fdb\u5faa\u73af": [[0, "id20"]], "2.1.3 \u5305\u56f4\u76d2": [[0, "id21"]], "2.1.3.1 \u63cf\u8ff0\u5305\u56f4\u76d2": [[0, "id22"]], "2.1.3.2 \u5305\u56f4\u76d2\u4e2d\u6b65\u8fdb\u7684\u8d77\u70b9\u548c\u7ec8\u70b9": [[0, "id23"]], "2.1.4 \u5305\u56f4\u76d2\u5185\u5149\u7ebf\u6b65\u8fdb": [[0, "id24"]], "2.1.4.1 \u5305\u56f4\u76d2\u5185\u4e09\u7ef4\u7eb9\u7406\u91c7\u6837": [[0, "id25"]], "3 \u5149\u7167": [[0, "id26"]], "3.1 \u4ecb\u7ecd": [[0, "id27"]], "3.1.1 \u7b26\u53f7\u5bf9\u7167\u8868": [[0, "id28"]], "3.2 \u4f53\u6e32\u67d3\u7406\u8bba": [[0, "id29"]], "3.2.1 \u4f53\u79ef\u7279\u6027": [[0, "id30"]], "3.2.1.1 \u53c2\u6570\u5316\u6d88\u4ea1\uff08Extinction\uff09\u548c\u5355\u6563\u5c04\u53cd\u7167\u7387\uff08Single Scattering Albedo\uff09": [[0, "extinction-single-scattering-albedo"]], "3.2.2 \u4f53\u79ef\u4e2d\u7684\u5149\u7ebf\u4f20\u8f93": [[0, "id31"]], "3.2.2.1 \u8f90\u5c04\u4f20\u8f93\u65b9\u7a0b\uff08Radiative Transfer Equation\uff09": [[0, "radiative-transfer-equation"]], "3.2.2.2 \u4f53\u6e32\u67d3\u65b9\u7a0b\uff08Volume Rendering Equation\uff09": [[0, "volume-rendering-equation"]], "3.2.3 \u8ffd\u8e2a\u65b9\u5f0f": [[0, "id32"]], "3.2.3.1 \u6700\u8fd1\u5f0f\u8ffd\u8e2a\uff08Closed-form Tracking\uff09": [[0, "closed-form-tracking"]], "4 \u95ee\u9898": [[0, "id33"]], "\u672a\u5b8c\u5f85\u7eed": [[0, "id34"]], "WebGPU Hello Triangle": [[1, "webgpu-hello-triangle"]], "WebGPU ImGui": [[2, "webgpu-imgui"]], "WebGPU Shader Compiler": [[3, "webgpu-shader-compiler"]], "\u56fe\u793a\u8bf4\u660e": [[3, null]], "\u6e90\u7801\u8bf4\u660e": [[3, null]], "\u66f4\u65b0\u8bb0\u5f55": [[3, null], [3, null], [3, null], [3, null], [3, null], [4, null]], "\u5b58\u5728\u7684\u95ee\u9898": [[3, null], [3, null], [3, null]], "\u91cd\u8981\u529f\u80fd": [[3, null], [3, null], [3, null]], "\u4f7f\u7528\u6559\u7a0b": [[3, null], [3, null]], "\u5141\u8bb8\u8bbf\u95ee\u526a\u8d34\u677f": [[3, null]], "\u5f00\u53d1\u8ba1\u5212": [[3, null], [3, null]], "\u5e94\u7528": [[4, "id1"]], "\u66f4\u65b0\u65e5\u5fd7": [[5, "id1"], [42, null]], "2024/3/29": [[5, "id2"]], "2024/3/28": [[5, "id3"]], "2024/3/27": [[5, "id4"]], "2024/3/26": [[5, "id5"]], "2024/3/24": [[5, "id6"]], "2024/3/23": [[5, "id7"]], "2024/3/19": [[5, "id8"]], "2024/3/17": [[5, "id9"]], "2024/3/16": [[5, "id10"]], "2024/3/15": [[5, "id11"]], "2024/3/14": [[5, "id12"]], "2024/3/10": [[5, "id13"]], "2024/3/9": [[5, "id14"]], "2024/3/3": [[5, "id15"]], "2024/2/27": [[5, "id16"]], "2024/2/21": [[5, "id17"]], "2024/2/17": [[5, "id18"]], "2024/2/16": [[5, "id19"]], "2024/2/8": [[5, "id20"]], "2024/2/7": [[5, "id21"]], "2024/2/5": [[5, "id22"]], "2024/2/4": [[5, "id23"]], "2024/2/3": [[5, "id24"]], "2024/2/2": [[5, "id25"]], "2024/2/1": [[5, "id26"]], "2024/1/30": [[5, "id27"]], "2024/1/28": [[5, "id28"]], "2024/1/25": [[5, "id29"]], "2024/1/20": [[5, "id30"]], "2024/1/14": [[5, "id31"]], "2024/1/10": [[5, "id32"]], "2024/1/9": [[5, "id33"]], "2024/1/8": [[5, "id34"]], "2024/1/6": [[5, "id35"]], "2024/1/5": [[5, "id36"]], "2024/1/4": [[5, "id37"]], "2024/1/3": [[5, "id38"]], "2024/1/2": [[5, "id39"]], "2023/11/4": [[5, "id40"]], "2023/11/2": [[5, "id41"]], "2023/11/1": [[5, "id42"]], "2023/10/31": [[5, "id43"]], "2023/10/28": [[5, "id44"]], "2023/10/26": [[5, "id45"]], "2023/10/24": [[5, "id46"]], "2023/10/22": [[5, "id47"]], "2023/10/21": [[5, "id48"]], "2023/10/19": [[5, "id49"]], "2023/10/18": [[5, "id50"]], "2023/10/17": [[5, "id51"]], "2023/10/16": [[5, "id52"]], "2023/10/15": [[5, "id53"]], "2023/10/12": [[5, "id54"]], "2023/10/10": [[5, "id55"]], "2023/10/8": [[5, "id56"]], "2023/10/7": [[5, "id57"]], "2023/10/6": [[5, "id58"]], "2023/10/4": [[5, "id59"]], "2023/10/3": [[5, "id60"]], "2023/9/25": [[5, "id61"]], "2023/9/23": [[5, "id62"]], "2023/9/22": [[5, "id63"]], "2023/9/20": [[5, "id64"]], "2023/9/15": [[5, "id65"]], "2023/9/14": [[5, "id66"]], "2023/9/13": [[5, "id67"]], "2023/9/12": [[5, "id68"]], "2023/9/7": [[5, "id69"]], "2023/9/4": [[5, "id70"]], "2023/9/1": [[5, "id71"]], "2023/8/31": [[5, "id72"]], "2023/8/29": [[5, "id73"]], "2023/8/25": [[5, "id74"]], "2023/8/24": [[5, "id75"]], "2023/8/23": [[5, "id76"]], "2023/8/4": [[5, "id77"]], "2023/8/3": [[5, "id78"]], "2023/8/1": [[5, "id79"]], "2023/7/31": [[5, "id80"]], "2023/7/29": [[5, "id81"]], "2023/7/28": [[5, "id82"]], "2023/7/27": [[5, "id83"]], "2023/7/26": [[5, "id84"]], "2023/7/25": [[5, "id85"]], "2023/7/24": [[5, "id86"]], "2023/7/21": [[5, "id87"]], "2023/7/17": [[5, "id88"]], "2023/7/14": [[5, "id89"]], "2023/7/10": [[5, "id90"]], "2023/7/9": [[5, "id91"]], "2023/7/8": [[5, "id92"]], "2023/7/4": [[5, "id93"]], "2023/7/2": [[5, "id94"]], "2023/6/30": [[5, "id95"]], "2023/6/29": [[5, "id96"]], "2023/6/28": [[5, "id97"]], "2023/6/27": [[5, "id98"]], "2023/6/26": [[5, "id99"]], "2023/6/25": [[5, "id100"]], "2023/6/24": [[5, "id101"]], "2023/6/23": [[5, "id102"]], "2023/6/21": [[5, "id103"]], "2023/6/20": [[5, "id104"]], "2023/6/15": [[5, "id105"]], "2023/6/14": [[5, "id106"]], "2023/6/13": [[5, "id107"]], "2023/6/12": [[5, "id108"]], "2023/6/11": [[5, "id109"]], "2023/6/10": [[5, "id110"]], "2023/6/9": [[5, "id111"]], "2023/6/8": [[5, "id112"]], "2023/6/7": [[5, "id113"]], "2023/6/6": [[5, "id114"]], "2023/6/5": [[5, "id115"]], "2023/6/4": [[5, "id116"]], "2023/6/3": [[5, "id117"]], "2023/6/2": [[5, "id118"]], "2023/6/1": [[5, "id119"]], "2023/5/31": [[5, "id120"]], "2023/5/30": [[5, "id121"]], "2023/5/29": [[5, "id122"]], "2023/5/28": [[5, "id123"]], "2023/5/27": [[5, "id124"]], "2023/5/26": [[5, "id125"]], "2023/5/25": [[5, "id126"]], "2023/5/24": [[5, "id127"]], "2023/5/23": [[5, "id128"]], "2023/5/22": [[5, "id129"]], "2023/5/21": [[5, "id130"]], "2023/5/20": [[5, "id131"]], "2023/5/19": [[5, "id132"]], "2023/5/18": [[5, "id133"]], "2023/5/17": [[5, "id134"]], "2023/5/16": [[5, "id135"]], "2023/5/15": [[5, "id136"]], "2023/5/14": [[5, "id137"]], "2023/5/12": [[5, "id138"]], "2023/5/11": [[5, "id139"]], "2023/5/10": [[5, "id140"]], "2023/5/9": [[5, "id141"]], "2023/5/8": [[5, "id142"]], "\u8bbe\u5907\u961f\u5217": [[6, "id1"], [37, "devicequeue"]], "\u91cd\u8981": [[6, null]], "vkGetPhysicalDeviceQueueFamilyProperties": [[6, "vkgetphysicaldevicequeuefamilyproperties"], [37, "vkgetphysicaldevicequeuefamilyproperties"]], "VkQueueFamilyProperties": [[6, "vkqueuefamilyproperties"], [37, "vkqueuefamilyproperties"]], "\u793a\u4f8b": [[6, "id2"], [17, "id4"], [35, "vkdevicecreatedemo"], [35, "id11"], [36, "id5"], [36, "id8"], [36, "id10"], [36, "id12"], [36, "id14"], [36, "id18"], [38, "id3"], [39, "id4"], [39, "id6"]], "support_graphics_queue_family_index": [[6, null], [37, null]], "\u73af\u5883\u914d\u7f6e": [[7, "id1"], [7, "id3"]], "\u83b7\u53d6 Vulkan-Headers": [[7, "id2"]], "Git \u4e0b\u8f7d": [[7, null]], "\u6ce8\u610f": [[7, null], [20, null], [20, null], [24, null], [24, null], [26, null], [26, null], [26, null], [26, null], [37, null]], "VK_KHR_buffer_device_address": [[8, "vk-khr-buffer-device-address"]], "\u4f9d\u8d56": [[8, "id1"]], "\u65b0\u589e\u51fd\u6570": [[8, "id2"], [14, "id2"]], "\u65b0\u589e\u7279\u6027": [[8, "id3"], [14, "id4"]], "\u63d0\u5347\u81f3 Vulkan 1.2 \u6838\u5fc3": [[8, null]], "\u63d0\u5347\u81f3 Vulkan 1.3 \u6838\u5fc3": [[8, null]], "\u8bbf\u95ee\u7269\u7406\u5b58\u50a8\u7f13\u5b58": [[8, "id4"]], "vkGetBufferDeviceAddress": [[8, "vkgetbufferdeviceaddress"], [12, "vkgetbufferdeviceaddress"]], "vkGetBufferDeviceAddressKHR": [[8, "id5"], [12, "vkgetbufferdeviceaddresskhr"]], "\u6b63\u786e\u7528\u6cd5": [[8, null], [8, null], [8, null], [8, null], [8, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [14, null], [14, null], [14, null], [14, null], [14, null], [14, null], [14, null], [14, null]], "VkBufferDeviceAddressInfo": [[8, "vkbufferdeviceaddressinfo"], [12, "vkbufferdeviceaddressinfo"]], "VkBufferDeviceAddressInfoKHR": [[8, "vkbufferdeviceaddressinfokhr"], [12, "vkbufferdeviceaddressinfokhr"]], "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT": [[8, null]], "vkGetBufferOpaqueCaptureAddress": [[8, "vkgetbufferopaquecaptureaddress"]], "vkGetBufferOpaqueCaptureAddressKHR": [[8, "id6"]], "\u67e5\u8be2\u4e0d\u900f\u660e\u6355\u83b7\u5730\u5740": [[8, "id7"]], "vkGetDeviceMemoryOpaqueCaptureAddress": [[8, "vkgetdevicememoryopaquecaptureaddress"]], "vkGetDeviceMemoryOpaqueCaptureAddressKHR": [[8, "id8"]], "VkDeviceMemoryOpaqueCaptureAddressInfo": [[8, "vkdevicememoryopaquecaptureaddressinfo"]], "VkDeviceMemoryOpaqueCaptureAddressInfoKHR": [[8, "vkdevicememoryopaquecaptureaddressinfokhr"]], "Visual Studio Code": [[9, "visual-studio-code"]], "F12 \u8df3\u8f6c\u81f3\u5b9a\u4e49\u65f6\uff0c\u4f18\u5148\u8df3\u8f6c\u81f3\u5df2\u6253\u5f00\u7684\u6587\u4ef6\u9875\u9762\uff0c\u800c\u4e0d\u662f\u91cd\u65b0\u5f00\u542f\u4e00\u4e2a\u6587\u4ef6\u9875\u9762": [[9, "f12"]], "Android \u5e73\u53f0\u9002\u914d": [[10, "android"]], "AGDK": [[10, "id1"]], "game-activity \u4f7f\u7528": [[10, "game-activity"]], "\u5b9e\u73b0 android_main": [[10, "android-main"]], "\u6e38\u620f\u5faa\u73af": [[10, "id2"]], "\u4e8b\u4ef6\u5904\u7406": [[10, "id3"]], "\u5bfc\u51fa\u52a8\u6001\u5e93": [[10, "id6"]], "CMake \u6307\u4ee4": [[10, "id7"]], "GameActivity \u5f15\u5165\u5e93": [[10, "id8"]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id1"], [11, "id3"], [22, "id10"]], "\u5149\u8ffd\u7ba1\u7ebf\u548c\u7740\u8272\u5668\u7ec4\u7ed3\u6784": [[11, "id4"]], "VkRayTracingShaderGroupCreateInfoKHR": [[11, "vkraytracingshadergroupcreateinfokhr"], [14, "vkraytracingshadergroupcreateinfokhr"]], "\u4e00\u4e2a\u7b80\u5355\u7684\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u793a\u610f\u56fe": [[11, "id6"]], "\u7740\u8272\u5668\u7ec4": [[11, "id7"]], "\u751f\u6210\u7ec4": [[11, "id8"]], "\u547d\u4e2d\u7ec4": [[11, "id9"]], "\u672a\u547d\u4e2d\u7ec4": [[11, "id10"]], "\u53ef\u8c03\u7528\u7ec4": [[11, "id11"]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u6784\u6210": [[11, "id12"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id13"]], "\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id14"]], "\u672a\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id15"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id16"]], "\u7efc\u4e0a": [[11, "id17"]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u62f7\u8d1d": [[11, "id18"]], "\u5149\u8ffd\u8c03\u5ea6\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id19"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id20"]], "\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id21"]], "\u672a\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id22"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id23"]], "VK_KHR_acceleration_structure": [[12, "vk-khr-acceleration-structure"], [31, "id3"]], "\u52a0\u901f\u7ed3\u6784\u7684\u521b\u5efa\u548c\u6784\u5efa": [[12, null]], "\u67e5\u770b\u662f\u5426\u652f\u6301\u52a0\u901f\u7ed3\u6784\u7279\u6027": [[12, "id3"]], "host \u7aef\u8fd8\u662f device \u7aef": [[12, null]], "\u4f8b\u7a0b": [[12, "id4"], [12, "id6"]], "\u6fc0\u6d3b\u52a0\u901f\u7ed3\u6784\u7279\u6027": [[12, "id5"]], "\u83b7\u53d6\u7f13\u5b58\u7684\u8bbe\u5907\u5730\u5740": [[12, "id7"]], "\u52a0\u901f\u7ed3\u6784": [[12, "id8"], [24, "id8"]], "\u51e0\u4f55\u4f53": [[12, "id9"]], "\u8f74\u5bf9\u9f50\u5305\u56f4\u76d2": [[12, null]], "\u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[12, "id10"], [24, "id10"]], "\u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[12, "id11"], [24, "id9"]], "\u52a0\u901f\u7ed3\u6784\u7684\u66f4\u65b0\u89c4\u5219": [[12, "id12"]], "\u65e0\u6548\u7684\u56fe\u5143\u548c\u5b9e\u4f53": [[12, "id13"]], "\u5b89\u9759\u7684\u3001\u5435\u95f9\u7684": [[12, null]], "\u52a0\u901f\u7ed3\u6784\u7684\u63cf\u8ff0": [[12, "id14"]], "VkAccelerationStructureBuildGeometryInfoKHR": [[12, "vkaccelerationstructurebuildgeometryinfokhr"]], "\u6682\u4ed8\u7f13\u5b58": [[12, null], [19, null]], "VkBuildAccelerationStructureFlagBitsKHR": [[12, "vkbuildaccelerationstructureflagbitskhr"]], "VkBuildAccelerationStructureModeKHR": [[12, "vkbuildaccelerationstructuremodekhr"]], "VkDeviceOrHostAddressKHR": [[12, "vkdeviceorhostaddresskhr"]], "VkDeviceOrHostAddressConstKHR": [[12, "vkdeviceorhostaddressconstkhr"]], "VkAccelerationStructureGeometryKHR": [[12, "vkaccelerationstructuregeometrykhr"]], "VkGeometryTypeKHR": [[12, "vkgeometrytypekhr"]], "VkGeometryFlagBitsKHR": [[12, "vkgeometryflagbitskhr"]], "VkAccelerationStructureGeometryDataKHR": [[12, "vkaccelerationstructuregeometrydatakhr"]], "VkAccelerationStructureGeometryTrianglesDataKHR": [[12, "vkaccelerationstructuregeometrytrianglesdatakhr"]], "VkTransformMatrixKHR": [[12, "vktransformmatrixkhr"]], "VkAccelerationStructureGeometryAabbsDataKHR": [[12, "vkaccelerationstructuregeometryaabbsdatakhr"]], "VkAabbPositionsKHR": [[12, "vkaabbpositionskhr"]], "VkAccelerationStructureGeometryInstancesDataKHR": [[12, "vkaccelerationstructuregeometryinstancesdatakhr"]], "\u52a0\u901f\u7ed3\u6784\u5b9e\u4f53": [[12, null]], "VkAccelerationStructureInstanceKHR": [[12, "vkaccelerationstructureinstancekhr"]], "VkGeometryInstanceFlagBitsKHR": [[12, "vkgeometryinstanceflagbitskhr"]], "\u83b7\u53d6\u52a0\u901f\u7ed3\u6784\u7684\u6784\u5efa\u5927\u5c0f": [[12, "id15"], [12, null]], "vkGetAccelerationStructureBuildSizesKHR": [[12, "id16"]], "VkAccelerationStructureBuildTypeKHR": [[12, "vkaccelerationstructurebuildtypekhr"]], "VkAccelerationStructureBuildSizesInfoKHR": [[12, "vkaccelerationstructurebuildsizesinfokhr"]], "\u521b\u5efa\u52a0\u901f\u7ed3\u6784": [[12, "id17"]], "vkCreateAccelerationStructureKHR": [[12, "id18"]], "VkAccelerationStructureCreateInfoKHR": [[12, "vkaccelerationstructurecreateinfokhr"]], "\u5907\u6ce8": [[12, null], [12, null]], "VkAccelerationStructureMotionInfoNV \u548c VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV": [[12, null]], "VkAccelerationStructureTypeKHR": [[12, "vkaccelerationstructuretypekhr"]], "VkAccelerationStructureCreateFlagBitsKHR": [[12, "vkaccelerationstructurecreateflagbitskhr"]], "\u83b7\u53d664\u4f4d\u52a0\u901f\u7ed3\u6784\u8bbe\u5907\u5730\u5740": [[12, "id19"]], "vkGetAccelerationStructureDeviceAddressKHR": [[12, "id20"]], "VkAccelerationStructureDeviceAddressInfoKHR": [[12, "vkaccelerationstructuredeviceaddressinfokhr"]], "\u9500\u6bc1\u52a0\u901f\u7ed3\u6784": [[12, "id21"]], "vkDestroyAccelerationStructureKHR": [[12, "id22"]], "\u6784\u5efa\u52a0\u901f\u7ed3\u6784": [[12, "id23"]], "vkCmdBuildAccelerationStructuresKHR": [[12, "id24"]], "\u5b9e\u4f53\u52a0\u901f\u7ed3\u6784": [[12, null]], "\u5185\u5b58\u6df7\u53e0": [[12, null]], "VkAccelerationStructureBuildRangeInfoKHR": [[12, "vkaccelerationstructurebuildrangeinfokhr"]], "\u62f7\u8d1d\u52a0\u901f\u7ed3\u6784": [[12, "id25"]], "vkCmdWriteAccelerationStructuresPropertiesKHR": [[12, "id26"]], "vkCmdCopyAccelerationStructureKHR": [[12, "id27"]], "VkCopyAccelerationStructureInfoKHR": [[12, "vkcopyaccelerationstructureinfokhr"]], "vkCmdCopyAccelerationStructureToMemoryKHR": [[12, "id28"]], "VkCopyAccelerationStructureToMemoryInfoKHR": [[12, "vkcopyaccelerationstructuretomemoryinfokhr"]], "vkCmdCopyMemoryToAccelerationStructureKHR": [[12, "id29"]], "VkCopyMemoryToAccelerationStructureInfoKHR": [[12, "vkcopymemorytoaccelerationstructureinfokhr"]], "vkGetDeviceAccelerationStructureCompatibilityKHR": [[12, "id30"]], "VkAccelerationStructureVersionInfoKHR": [[12, "vkaccelerationstructureversioninfokhr"]], "VkAccelerationStructureCompatibilityKHR": [[12, "vkaccelerationstructurecompatibilitykhr"]], "\u52a0\u901f\u7ed3\u6784\u7684 Host \u7aef\u64cd\u4f5c": [[12, "host"]], "vkBuildAccelerationStructuresKHR": [[12, "id31"]], "vkCopyAccelerationStructureKHR": [[12, "id32"]], "vkCopyMemoryToAccelerationStructureKHR": [[12, "id33"]], "vkCopyAccelerationStructureToMemoryKHR": [[12, "id34"]], "vkWriteAccelerationStructuresPropertiesKHR": [[12, "id35"]], "VK_KHR_deferred_host_operations": [[13, "vk-khr-deferred-host-operations"], [31, "id8"]], "VK_KHR_ray_tracing_pipeline": [[14, "vk-khr-ray-tracing-pipeline"], [31, "id4"]], "\u6269\u5c55\u540d\u5b9a\u4e49": [[14, "id1"]], "\u65b0\u589e\u679a\u4e3e": [[14, "id3"]], "VkBufferUsageFlagBits": [[14, "vkbufferusageflagbits"], [39, "vkbufferusageflagbits"]], "VkDynamicState": [[14, "vkdynamicstate"]], "VkPipelineBindPoint": [[14, "vkpipelinebindpoint"]], "VkPipelineStageFlagBits": [[14, "vkpipelinestageflagbits"]], "VkShaderStageFlagBits": [[14, "vkshaderstageflagbits"]], "\u65b0\u589e\u5c5e\u6027": [[14, "id5"]], "VkPhysicalDeviceRayTracingPipelineFeaturesKHR": [[14, "vkphysicaldeviceraytracingpipelinefeatureskhr"]], "VkPhysicalDeviceRayTracingPipelinePropertiesKHR": [[14, "vkphysicaldeviceraytracingpipelinepropertieskhr"]], "vkCreateRayTracingPipelinesKHR": [[14, "id6"]], "VkRayTracingPipelineCreateInfoKHR": [[14, "vkraytracingpipelinecreateinfokhr"]], "VkRayTracingShaderGroupTypeKHR": [[14, "vkraytracingshadergrouptypekhr"]], "VkPipelineLibraryCreateInfoKHR": [[14, "vkpipelinelibrarycreateinfokhr"]], "VkRayTracingPipelineInterfaceCreateInfoKHR": [[14, "vkraytracingpipelineinterfacecreateinfokhr"]], "vkGetRayTracingShaderGroupHandlesKHR": [[14, "id8"]], "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR": [[14, "id11"]], "vkGetRayTracingShaderGroupStackSizeKHR": [[14, "id14"]], "VkShaderGroupShaderKHR": [[14, "vkshadergroupshaderkhr"]], "vkCmdSetRayTracingPipelineStackSizeKHR": [[14, "id15"]], "Vulkan KHR \u5149\u7ebf\u8ffd\u8e2a\u6807\u51c6": [[15, "vulkan-khr"]], "\u6709\u5173\u672c\u6587\u6863\u7ed3\u6784": [[15, null]], "Vulkan \u6807\u51c6": [[16, "vulkan"]], "\u6700\u521d\u4e4b\u7269 VkInstance": [[17, "vkinstance"]], "\u521b\u5efa VkInstance": [[17, "id1"], [37, "vkinstance"]], "vkCreateInstance": [[17, "vkcreateinstance"], [37, "vkcreateinstance"]], "VkInstanceCreateInfo": [[17, "vkinstancecreateinfo"], [37, "vkinstancecreateinfo"]], "VkApplicationInfo": [[17, "vkapplicationinfo"], [37, "vkapplicationinfo"]], "vkEnumerateInstanceVersion": [[17, "vkenumerateinstanceversion"], [17, null], [37, "vkenumerateinstanceversion"]], "Layer": [[17, "layer"], [41, null]], "\u5b98\u65b9 Layer \u6587\u6863": [[17, null]], "vkEnumerateInstanceLayerProperties": [[17, "vkenumerateinstancelayerproperties"]], "VkLayerProperties": [[17, "vklayerproperties"]], "Extension": [[17, "extension"]], "vkEnumerateInstanceExtensionProperties": [[17, "vkenumerateinstanceextensionproperties"]], "VkExtensionProperties": [[17, "vkextensionproperties"], [35, "vkextensionproperties"]], "\u6709\u4e00\u4e9b\u5b9e\u4f8b\u6269\u5c55\u6211\u4eec\u9700\u8981\u91cd\u70b9\u5173\u6ce8\u4e00\u4e0b": [[17, null]], "\u6bd4\u5982": [[17, null]], "\u9500\u6bc1 VkInstance": [[17, "id3"]], "vkDestroyInstance": [[17, "vkdestroyinstance"]], "\u4ecb\u7ecd": [[18, "id1"]], "\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66": [[18, "id2"]], "\u5b9e\u65f6\u6e32\u67d3\u548c\u79bb\u7ebf\u6e32\u67d3": [[18, "id4"]], "\u5b9e\u65f6\u3001\u79bb\u7ebf\u4e0e\u5149\u7ebf\u8ffd\u8e2a": [[18, null]], "\u56fe\u5f62\u63a5\u53e3": [[18, "id5"]], "Khronos\u7ec4\u7ec7": [[18, "khronos"]], "OpenGL": [[18, "opengl"]], "Vulkan": [[18, "vulkan"]], "Vulkan \u4e0e DirectX 12": [[18, null]], "\u6709\u5173\u5b66\u4e60 Vulkan": [[18, null]], "NVIDIA Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6559\u7a0b": [[19, "nvidia-vulkan"]], "Turbo \u5f15\u64ce\u4e2d\u5bf9\u8be5\u6559\u7a0b\u7684\u5b9e\u73b0\u793a\u4f8b": [[19, null], [20, null], [21, null], [23, null], [24, null], [25, null], [26, null], [28, null]], "GitHub\u4ed3\u5e93": [[19, null]], "1 \u4ecb\u7ecd": [[19, "id6"]], "2 \u914d\u7f6e\u73af\u5883": [[19, "environment-setup"]], "2.1 \u751f\u6210\u89e3\u51b3\u65b9\u6848": [[19, "id8"]], "2.2 \u5de5\u5177\u5b89\u88c5": [[19, "id9"]], "3 \u7f16\u8bd1\u548c\u8fd0\u884c": [[19, "id10"]], "4 \u5f00\u59cb\u6b65\u5165\u5149\u7ebf\u8ffd\u8e2a": [[19, "id11"]], "\u52a0\u8f7d\u51fd\u6570\u6307\u9488": [[19, null]], "4.1 main": [[19, "main"]], "\u7ec3\u4e60": [[19, null]], "5 \u52a0\u901f\u7ed3\u6784": [[19, "id12"]], "\u5185\u5b58\u7ba1\u7406": [[19, null], [37, "id22"]], "5.1 \u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[19, "bottom-level-acceleration-structure"]], "\u5bf9\u4e8e VkAccelerationStructureGeometryKHR \u548c VkAccelerationStructureBuildRangeInfoKHR \u5206\u522b\u4e3a\u72ec\u7acb\u7ed3\u6784\u4f53": [[19, null]], "\u9876\u70b9\u5c5e\u6027": [[19, null]], "\u5185\u5b58\u5b89\u5168": [[19, null]], "5.1.1 \u5e2e\u52a9\u7c7b\u7ec6\u8282\uff1aRaytracingBuilder::buildBlas()": [[19, "raytracingbuilder-buildblas"]], "\u538b\u7f29": [[19, null]], "256MB": [[19, null]], "5.1.1.1 cmdCreateBlas": [[19, "cmdcreateblas"]], "5.1.1.2 cmdCompactBlas": [[19, "cmdcompactblas"]], "5.2 \u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[19, "id15"]], "gl_InstanceID": [[19, null]], "m_instances \u7684 inst.transform \u548c inst.objIndex": [[19, null]], "getBlasDeviceAddress(uint32_t blasId)": [[19, null]], "5.2.1 \u5e2e\u52a9\u7c7b\u7ec6\u8282\uff1aRaytracingBuilder::buildTlas()": [[19, "raytracingbuilder-buildtlas"]], "\u63d2\u5165\u4e00\u4e2a\u6805\u680f\u7528\u4e8e\u786e\u4fdd\u5728\u5f00\u59cb\u6784\u5efa\u52a0\u901f\u7ed3\u6784\u4e4b\u524d\u5b9e\u4f53\u6570\u636e\u7684\u7f13\u5b58\u62f7\u8d1d\u5df2\u7ecf\u5b8c\u6210": [[19, null]], "\u8be5\u52a0\u901f\u7ed3\u6784\u7528\u4e8e\u8868\u793a\u4e00\u4e2a\u5305\u542b\u5f88\u591a\u5b9e\u4f53\u7684\u51e0\u4f55\u4f53": [[19, null]], "\u6211\u4eec\u9700\u8981\u5c06\u5b9e\u4f53\u6570\u636e\u653e\u5165\u8054\u5408\u4f53\u4e2d\u5e76\u6307\u5b9a\u8be5\u6570\u636e\u4e3a\u5b9e\u4f53\u6570\u636e": [[19, null]], "5.3 main": [[19, "id18"]], "6 \u5149\u7ebf\u8ffd\u8e2a\u63cf\u8ff0\u7b26\u96c6\uff08Descriptor Set\uff09": [[19, "descriptor-set"]], "\u79bb\u5c4f\u8f93\u51fa": [[19, null]], "6.1 \u589e\u52a0\u573a\u666f\u7684\u63cf\u8ff0\u7b26\u96c6": [[19, "additions-to-the-scene-descriptor-set"]], "\u7f13\u5b58\u6570\u7ec4": [[19, null]], "6.2 \u63cf\u8ff0\u7b26\u66f4\u65b0": [[19, "id20"]], "6.3 main": [[19, "id21"]], "7 \u5149\u7ebf\u8ffd\u8e2a\u7ba1\u7ebf": [[19, "id22"]], "\u5149\u8ffd\u8d1f\u8f7d": [[19, null]], "SM": [[19, null]], "\u8d28\u5fc3\u5750\u6807\u4e0e\u4ea4\u70b9\u5750\u6807": [[19, null]], "\u5019\u9009\u4ea4\u70b9": [[19, null]], "7.1 \u589e\u52a0\u7740\u8272\u5668": [[19, "id23"]], "\u4e0b\u8f7d\u5149\u7ebf\u8ffd\u8e2a\u7740\u8272\u5668": [[19, null]], "\u7740\u8272\u5668\u4e0b\u8f7d": [[19, null]], "\u5e38\u91cf\u63a8\u9001": [[19, null]], "7.2 main": [[19, "id24"]], "8 \u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[19, "id25"]], "\u968f\u7b14": [[19, null], [42, null]], "8.1 \u53e5\u67c4": [[19, "id27"]], "\u5185\u5b58\u5927\u5c0f\u548c\u5bf9\u9f50": [[19, null]], "\u7279\u4f8b": [[19, null]], "pRayGenShaderBindingTable": [[19, null]], "\u5176\u503c\u5e94\u8be5\u4e3a 0": [[19, null]], "NSight": [[19, null]], "\u5728 host \u7aef\u662f\u53ef\u8bbf\u95ee": [[19, null]], "\u7740\u8272\u5668\u987a\u5e8f": [[19, null]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u5c01\u88c5": [[19, null]], "8.2 main": [[19, "id28"]], "9 \u5149\u7ebf\u8ffd\u8e2a": [[19, "id29"]], "\u9009\u62e9\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668": [[19, null]], "SBTWrapper": [[19, null]], "10 \u5f00\u59cb\u8ffd\u8e2a": [[19, "id30"]], "10.1 main": [[19, "id31"]], "11 \u76f8\u673a\u77e9\u9635": [[19, "id32"]], "11.1 \u5149\u7ebf\u751f\u6210\uff08 raytrace.rgen \uff09": [[19, "raytrace-rgen"]], "Binding": [[19, null]], "rayPayloadEXT \u7684 locations": [[19, null]], "rayPayloadInEXT \u7684 locations": [[19, null]], "11.2 \u672a\u547d\u4e2d\u7740\u8272\u5668\uff08raytrace.miss\uff09": [[19, "raytrace-miss"]], "12 \u7b80\u5355\u5149\u7167": [[19, "id33"]], "\u53ef\u8bbf\u95ee\u8303\u56f4\u6269\u5c55\u81f3\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[19, null]], "12.1 \u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668\uff08raytrace.rchit\uff09": [[19, "raytrace-rchit"]], "13 \u7b80\u5355\u6750\u8d28": [[19, "id34"]], "Alias Wavefront": [[19, null]], "13.1 raytrace.rchit": [[19, "id35"]], "\u5b9a\u4e49\u5728 wavefront.glsl \u4e2d": [[19, null]], "13.2 main": [[19, "id36"]], "14 \u9634\u5f71": [[19, "id37"]], "14.1 createRaytracingPipeline": [[19, "createraytracingpipeline"]], "Download Shadow Shader": [[19, null]], "\u8d44\u6e90\u9650\u5236": [[19, null]], "14.2 createRtShaderBindingTable": [[19, "creatertshaderbindingtable"]], "14.3 createRtDescriptorSet": [[19, "creatertdescriptorset"]], "14.4 raytrace.rchit": [[19, "id38"]], "15 \u62d3\u5c55\u5ef6\u4f38": [[19, "id39"]], "\u52a8\u6001\u66f4\u65b0": [[20, "id1"]], "\u6559\u7a0b": [[20, "id8"], [21, "id4"], [22, "id4"], [23, "id4"], [24, "id4"], [25, "id4"], [26, "id6"], [27, "id4"], [28, "id7"], [29, "id3"]], "\u66f4\u65b0\u53d8\u6362\u77e9\u9635": [[20, "id9"]], "\u521b\u5efa\u4e00\u4e2a\u573a\u666f": [[20, "id10"]], "\u66f4\u65b0\u51fd\u6570": [[20, "id11"]], "\u5faa\u73af\u66f4\u65b0\u51fd\u6570": [[20, "id12"]], "\u66f4\u65b0\u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[20, "id13"]], "nvvk::RaytracingBuilder::buildTlas \uff08\u5b9e\u73b0\uff09": [[20, "nvvk-raytracingbuilder-buildtlas"]], "\u66f4\u65b0\u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[20, "id14"]], "\u589e\u52a0\u4e00\u4e2a\u7403\u4f53": [[20, "id15"]], "\u8ba1\u7b97\u7740\u8272\u5668": [[20, "id16"]], "anim.comp": [[20, "anim-comp"]], "\u66f4\u65b0\u7269\u4f53": [[20, "id17"]], "\u6267\u884c\u66f4\u65b0": [[20, "id18"]], "\u5e95\u5c42\u52a0\u901f\u7ed3\u6784\u7684\u66f4\u65b0": [[20, "id19"]], "\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\uff08Any Hit Shaders\uff09\u6559\u7a0b": [[21, "any-hit-shaders"]], "\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668": [[21, "id7"]], "\u8d1f\u8f7d": [[21, "id9"]], "\u5c06\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\u52a0\u5165\u5149\u8ffd\u7ba1\u7ebf\u4e2d": [[21, "id10"]], "\u914d\u7f6e\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\u4e2d\u8bbf\u95ee\u7684\u7f13\u5b58": [[21, "id11"]], "\u4e0d\u900f\u660e\u6807\u5fd7\u4f4d": [[21, "id12"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668": [[21, "id13"], [29, "id21"]], "\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[21, "id15"], [29, "id22"]], "\u573a\u666f\u548c\u6a21\u578b": [[21, "id16"]], "OBJ \u6750\u8d28": [[21, "obj"]], "\u7d2f\u79ef": [[21, "id17"]], "\u4fee\u6b63\u7ba1\u7ebf": [[21, "id22"]], "\u65b0\u7740\u8272\u5668": [[21, "id23"]], "\u65b0\u8d1f\u8f7d": [[21, "id24"]], "traceRayEXT": [[21, "tracerayext"]], "\u5149\u8ffd\u7ba1\u7ebf": [[21, "id25"], [32, "id4"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668": [[22, "id1"], [22, "id9"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u4f7f\u7528\u8303\u56f4": [[22, null]], "\u6570\u636e\u5b58\u50a8": [[22, "id5"]], "\u6267\u884c": [[22, "id6"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u52a0\u5165\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u4e2d": [[22, "id7"]], "\u521b\u5efa\u53ef\u8c03\u7528\u7740\u8272\u5668": [[22, "id8"]], "\u8c03\u7528\u53ef\u8c03\u7528\u7740\u8272\u5668": [[22, "id11"]], "DONT_USE_CALLABLE": [[22, null]], "\u5b9e\u4f8b\u5316": [[23, "id1"]], "\u591a\u5b9e\u4f8b": [[23, "id6"]], "\u6ce8\u89e3": [[23, null], [23, null]], "\u591a\u7269\u4f53": [[23, "id7"]], "\u8bbe\u5907\u5185\u5b58\u5206\u914d\u5668 \uff08DMA\uff09": [[23, "dma"]], "hello_vulkan.h": [[23, "hello-vulkan-h"], [23, "id9"], [26, "hello-vulkan-h"], [26, "id10"]], "hello_vulkan.cpp": [[23, "hello-vulkan-cpp"], [23, "id10"], [26, "hello-vulkan-cpp"]], "\u7ed3\u679c": [[23, "id8"]], "VMA \uff1aVulkan \u5185\u5b58\u5206\u914d\u5668": [[23, "vma-vulkan"]], "\u76f8\u4ea4\u7740\u8272\u5668": [[24, "id1"], [24, "id12"]], "\u4e0a\u5c42\u5b9e\u73b0": [[24, "id5"]], "\u521b\u5efa\u6240\u6709\u9690\u5f0f\u5bf9\u8c61": [[24, "id6"]], "\u76d2\u4f53": [[24, null]], "\u5e03\u7f6e\u573a\u666f": [[24, "id7"], [26, "id7"], [28, "id9"]], "\u63cf\u8ff0\u7b26": [[24, "id11"]], "raytrace.rint": [[24, "raytrace-rint"]], "\u5149\u7ebf\u4e0e\u7403\u4f53\u6c42\u4ea4": [[24, "id13"]], "\u5149\u7ebf\u4e0e\u8f74\u5bf9\u9f50\u5305\u56f4\u76d2\u6c42\u4ea4": [[24, "id14"]], "raytrace2.rchit": [[24, "raytrace2-rchit"], [26, "raytrace2-rchit"], [26, "id11"]], "\u76f8\u673a\u6296\u52a8\u6297\u952f\u9f7f\u6559\u7a0b": [[25, "id1"]], "\u968f\u673a\u51fd\u6570": [[25, "id6"]], "\u5e27\u5e8f": [[25, "id7"]], "\u968f\u673a\u5e76\u6296\u52a8": [[25, "id8"]], "\u5b58\u50a8\u6216\u66f4\u65b0": [[25, "id9"]], "\u66f4\u65b0\u5e94\u7528\u5e27": [[25, "id10"]], "\u5f53 UI \u53d1\u751f\u53d8\u5316\u65f6\u5e27\u91cd\u7f6e": [[25, "ui"]], "\u54c1\u8d28": [[25, "id11"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668\u4e2d\u7684\u591a\u91c7\u6837": [[25, "id12"]], "\u591a\u91cd\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[26, "id1"]], "\u589e\u52a0\u4e00\u4e2a\u65b0\u7684\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[26, "id8"]], "createRtPipeline": [[26, "creatertpipeline"]], "raytrace.rgen": [[26, "raytrace-rgen"], [28, "raytrace-rgen"], [28, "id14"]], "\u9009\u62e9\u547d\u4e2d\u7740\u8272\u5668": [[26, "id9"]], "\u7740\u8272\u5668\u8bb0\u5f55\u6570\u636e shaderRecordKHR": [[26, "shaderrecordkhr"]], "main.cpp": [[26, "main-cpp"], [26, "id14"]], "HelloVulkan::createRtShaderBindingTable": [[26, "hellovulkan-creatertshaderbindingtable"]], "\u5149\u7ebf\u8ffd\u8e2a": [[26, "id12"], [31, "id1"]], "\u547d\u4e2d\u5ef6\u4f38": [[26, "id13"]], "createRtShaderBindingTable": [[26, "creatertshaderbindingtable"]], "\u5149\u7ebf\u67e5\u8be2": [[27, "id1"], [32, "id5"]], "\u6e05\u9664": [[27, "id5"]], "hello_vulkan (\u5934\u6587\u4ef6)": [[27, "hello-vulkan"]], "hello_vulkan (\u6e90\u6587\u4ef6)": [[27, "id6"]], "\u7740\u8272\u5668": [[27, "id7"], [29, "id13"]], "\u6fc0\u6d3b\u6269\u5c55": [[27, "id8"]], "\u7247\u5143\u7740\u8272\u5668\u76f8\u5173\u914d\u7f6e": [[27, "id9"]], "\u7247\u5143\u7740\u8272\u5668": [[27, "id10"]], "\u53cd\u5c04": [[28, "id1"]], "\u9012\u5f52\u53cd\u5c04": [[28, "id10"]], "raycommon.glsl": [[28, "raycommon-glsl"], [28, "id13"]], "raytrace.rchit": [[28, "raytrace-rchit"], [28, "id15"]], "raytrace.rmiss": [[28, "raytrace-rmiss"], [28, "id16"]], "\u53ef\u8fd0\u884c\uff0c\u4f46\u6709\u9650\u5236": [[28, "id11"]], "\u8fed\u4ee3\u53cd\u5c04": [[28, "id12"]], "\u6700\u5927\u9012\u5f52": [[28, "id17"]], "\u63a7\u5236\u9012\u5f52\u6df1\u5ea6": [[28, "id18"]], "glTF \u573a\u666f": [[29, "gltf"]], "\u573a\u666f\u6570\u636e": [[29, "id4"]], "\u52a0\u8f7d glTF \u573a\u666f": [[29, "id6"]], "\u52a0\u8f7d\u573a\u666f": [[29, "id7"]], "std::vector primLookup": [[29, null]], "NAME_VK": [[29, null]], "\u51e0\u4f55\u4f53\u8f6c\u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[29, "id8"]], "\u521b\u5efa\u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[29, "id9"]], "m_gltfScene.m_nodes": [[29, null]], "\u5149\u6805\u5316\u6e32\u67d3": [[29, "id10"]], "\u5149\u7ebf\u8ffd\u8e2a\u4fee\u6539": [[29, "id11"]], "\u63cf\u8ff0\u7b26\u548c\u7ba1\u7ebf\u4fee\u6539": [[29, "id12"]], "\u5176\u4ed6\u6539\u53d8": [[29, "id14"]], "\u76f8\u673a\u4f4d\u7f6e": [[29, "id15"]], "\u573a\u666f": [[29, "id16"]], "\u5149\u6e90\u4f4d\u7f6e": [[29, "id17"]], "\u7b80\u5355\u8def\u5f84\uff08\u5149\u7ebf\uff09\u8ffd\u8e2a": [[29, "id18"]], "\u79ef\u7d2f\u91c7\u6837\uff08\u964d\u566a\uff09": [[29, null]], "depth": [[29, null]], "createCoordinateSystem": [[29, "createcoordinatesystem"]], "samplingHemisphere": [[29, "samplinghemisphere"]], "\u672a\u547d\u4e2d\u7740\u8272\u5668": [[29, "id23"]], "\u5feb\u901f\u5149\u7ebf\u8ffd\u8e2a": [[29, "id24"]], "\u6700\u8fd1\u547d\u4e2d": [[29, "id26"]], "\u5149\u7ebf\u751f\u6210": [[29, "id27"]], "prd.depth < 10": [[29, null]], "hitValue": [[29, null]], "RTX \u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u4e09\u79cd\u65b9\u5f0f": [[30, "rtx"]], "VK_KHR_ray_query": [[31, "id5"]], "VK_KHR_pipeline_library": [[31, "id6"]], "\u5f53\u524d\u4ec5\u4ec5\u63d0\u4f9b\u4e86 VK_KHR_ray_tracing_pipeline \u7684\u4f8b\u5b50": [[31, null]], "\u5149\u8ffd\u6700\u4f73\u5b9e\u8df5": [[31, "id9"]], "\u6700\u5c0f\u5316\u5e76\u884c\u8bbf\u95ee\u5149\u7ebf\u67e5\u8be2\u5bf9\u8c61\u7684\u7ebf\u7a0b\u6570\u91cf": [[31, "id10"]], "\u6700\u5c0f\u5316\u5149\u7ebf\u3001\u51fb\u4e2d\u5c5e\u6027\u548c\u53ef\u8c03\u7528\u6570\u636e\u5927\u5c0f": [[31, "id11"]], "\u591a\u7528\u8bbe\u5907\u672c\u5730\u7684\u5185\u5b58": [[31, "id12"]], "\u8bbe\u5907\u672c\u5730\u7684\u5185\u5b58": [[31, null]], "Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6700\u7ec8\u6807\u51c6\u53d1\u5e03": [[32, "vulkan"]], "\u5386\u53f2\u56de\u987e": [[32, "id1"]], "\u5149\u8ffd\u6807\u51c6": [[32, "id2"]], "\u6269\u5c55\u7ed3\u6784": [[32, "id3"]], "\u52a0\u901f\u7ed3\u6784\uff08Acceleration Structures\uff09": [[32, "acceleration-structures"]], "Host\u7aef\u7684\u5ef6\u8fdf\u64cd\u4f5c\uff08Deferred Host Operations\uff09": [[32, "host-deferred-host-operations"]], "\u6b63\u8def\u5728\u6b64": [[32, "id6"]], "\u52a0\u901f\u7ed3\u6784\u7684\u521b\u5efa": [[32, "id7"]], "\u8d44\u6e90\u4f7f\u7528\u548c\u540c\u6b65": [[32, "id8"]], "\u7ed3\u8bba\u548c\u8d44\u6e90": [[32, "id9"]], "\u6587\u732e": [[33, "id1"]], "Vulkan\u8ff7\u4f60\u8def\u5f84\u8ffd\u8e2a": [[34, "vulkan"]], "\u903b\u8f91\u8bbe\u5907": [[35, "id1"], [37, "id15"]], "\u521b\u5efa\u903b\u8f91\u8bbe\u5907": [[35, "id3"], [37, "id16"]], "vkCreateDevice": [[35, "vkcreatedevice"], [37, "vkcreatedevice"]], "VkDeviceCreateInfo": [[35, "vkdevicecreateinfo"], [37, "vkdevicecreateinfo"]], "VkDeviceQueueCreateInfo": [[35, "vkdevicequeuecreateinfo"], [37, "vkdevicequeuecreateinfo"]], "VkDeviceQueueCreateInfo::flags": [[35, null]], "\u9965\u997f": [[35, null]], "\u8bbe\u5907\u6269\u5c55": [[35, "id5"]], "vkEnumerateDeviceExtensionProperties": [[35, "vkenumeratedeviceextensionproperties"]], "\u6709\u4e00\u4e9b\u8bbe\u5907\u6269\u5c55\u6211\u4eec\u9700\u8981\u91cd\u70b9\u5173\u6ce8\u4e00\u4e0b": [[35, null]], "\u786c\u4ef6\u5b9e\u65f6\u5149\u8ffd": [[35, null]], "\u8bbe\u5907\u7279\u6027": [[35, "id6"]], "vkGetPhysicalDeviceFeatures": [[35, "vkgetphysicaldevicefeatures"]], "VkPhysicalDeviceFeatures": [[35, "vkphysicaldevicefeatures"]], "\u6269\u5c55\u548c\u7279\u6027": [[35, null]], "\u9500\u6bc1\u903b\u8f91\u8bbe\u5907": [[35, "id8"]], "vkDestroyDevice": [[35, "vkdestroydevice"]], "\u83b7\u53d6\u8bbe\u5907\u961f\u5217": [[35, "id10"], [37, "id17"]], "\u5185\u5b58": [[36, "id1"], [37, "memory"]], "\u53e5\u67c4\u5bf9\u8c61\u7684\u5185\u5b58\u5206\u914d\u5668": [[36, "id2"]], "PFN_vkAllocationFunction": [[36, "pfn-vkallocationfunction"]], "\u5185\u5b58\u5bf9\u9f50": [[36, null]], "\u7b97\u6cd5\u8bf4\u660e": [[36, null], [36, null], [36, null]], "PFN_vkReallocationFunction": [[36, "pfn-vkreallocationfunction"]], "PFN_vkFreeFunction": [[36, "pfn-vkfreefunction"]], "PFN_vkInternalAllocationNotification": [[36, "pfn-vkinternalallocationnotification"]], "PFN_vkInternalFreeNotification": [[36, "pfn-vkinternalfreenotification"]], "VkSystemAllocationScope": [[36, "vksystemallocationscope"]], "VkInternalAllocationType": [[36, "vkinternalallocationtype"]], "\u8bbe\u5907\u5185\u5b58": [[36, "id6"]], "vkGetPhysicalDeviceMemoryProperties": [[36, "vkgetphysicaldevicememoryproperties"], [37, "vkgetphysicaldevicememoryproperties"]], "VkPhysicalDeviceMemoryProperties": [[36, "vkphysicaldevicememoryproperties"], [37, "vkphysicaldevicememoryproperties"]], "VK_MAX_MEMORY_TYPES \u548c VK_MAX_MEMORY_HEAPS": [[36, null]], "\u5185\u5b58\u5806": [[36, null]], "VkMemoryHeap": [[36, "vkmemoryheap"], [37, "vkmemoryheap"]], "VkMemoryHeapFlagBits": [[36, "vkmemoryheapflagbits"], [37, "vkmemoryheapflagbits"]], "VkMemoryType": [[36, "vkmemorytype"], [37, "vkmemorytype"]], "VkMemoryPropertyFlagBits": [[36, "vkmemorypropertyflagbits"], [37, "vkmemorypropertyflagbits"]], "\u5185\u5b58\u540c\u6b65": [[36, null], [36, "memory-sync"]], "\u60f0\u6027\u5185\u5b58": [[36, null]], "\u5185\u5b58\u5206\u914d": [[36, "id7"]], "vkAllocateMemory": [[36, "vkallocatememory"]], "VkMemoryAllocateInfo": [[36, "vkmemoryallocateinfo"], [37, "vkmemoryallocateinfo"]], "\u5185\u5b58\u56de\u6536": [[36, "id9"]], "vkFreeMemory": [[36, "vkfreememory"], [37, "vkfreememory"]], "\u5185\u5b58\u6620\u5c04": [[36, "id11"], [37, null]], "vkMapMemory": [[36, "vkmapmemory"], [37, "vkmapmemory"]], "VkMemoryMapFlags": [[36, null]], "\u865a\u62df\u5730\u5740": [[36, null]], "\u865a\u62df\u5185\u5b58": [[36, null]], "ppData": [[36, null]], "\u5185\u5b58\u89e3\u6620\u5c04": [[36, "id13"]], "vkUnmapMemory": [[36, "vkunmapmemory"], [37, "vkunmapmemory"]], "\u865a\u62df\u5185\u5b58\u540c\u6b65\u5230\u8bbe\u5907\u5185\u5b58": [[36, "id16"], [36, "id19"]], "vkFlushMappedMemoryRanges": [[36, "vkflushmappedmemoryranges"]], "\u8bbe\u5907\u5185\u5b58\u540c\u6b65\u5230\u865a\u62df\u5185\u5b58": [[36, "id17"], [36, "id20"]], "\u8bbe\u5907\u5185\u5b58\u6570\u636e\u4fee\u6539": [[36, null]], "vkInvalidateMappedMemoryRanges": [[36, "vkinvalidatemappedmemoryranges"]], "VkMappedMemoryRange": [[36, "vkmappedmemoryrange"]], "\u7eb5\u89c8": [[37, "id1"]], "\u7bc7\u5e45": [[37, null]], "Vulkan \u80fd\u4e3a\u6211\u4eec\u505a\u4ec0\u4e48": [[37, "vulkan"]], "Vulkan \u7684\u53e5\u67c4": [[37, "id3"]], "Dispatchable": [[37, "dispatchable"]], "Non-dispatchable": [[37, "non-dispatchable"]], "\u53e5\u67c4\u7684\u4f7f\u7528": [[37, "id4"]], "\u53e5\u67c4\u521d\u59cb\u5316": [[37, "id5"]], "Vulkan \u7684\u63a5\u53e3": [[37, "id6"]], "\u83b7\u53d6 Vulkan \u63a5\u53e3": [[37, "id7"]], "\u52a0\u8f7d Vulkan \u52a8\u6001\u5e93": [[37, "id8"]], "Vulkan \u7684\u52a8\u6001\u5e93": [[37, null]], "Vulkan \u7684\u9759\u6001\u5e93": [[37, null]], "Vulkan \u51fd\u6570\u5206\u7c7b": [[37, "id9"]], "PhysicalDevice \u57df\u51fd\u6570\u7279\u6b8a\u6027": [[37, null]], "vkGetInstanceProcAddr \u548c Device \u57df\u51fd\u6570": [[37, null]], "vkGetInstanceProcAddr": [[37, "vkgetinstanceprocaddr"]], "\u83b7\u53d6\u5168\u5c40\u51fd\u6570": [[37, null]], "PFN_{\u51fd\u6570\u540d}": [[37, null]], "PFN_vkVoidFunction \u4e0e vkGetInstanceProcAddr": [[37, null]], "VK_NULL_HANDLE": [[37, null]], "\u53e5\u67c4": [[37, null]], "Vulkan \u6700\u521d\u4e4b\u7269 VkInstance": [[37, "vulkan-vkinstance"]], "Vulkan \u4e2d\u7684\u53e5\u67c4": [[37, null]], "pAllocator": [[37, null]], "VK_SUCCESS": [[37, null]], "sType \u4e0e pNext": [[37, null]], "VkInstanceCreateFlags": [[37, "vkinstancecreateflags"]], "VkFlags \u4e0e \u4f4d\u57df": [[37, null]], "\u73b0\u5728\u6211\u4eec\u9762\u4e34\u4e00\u4e2a\u95ee\u9898": [[37, null]], "\u83b7\u53d6\u652f\u6301\u7684 Vulkan \u7248\u672c": [[37, "id10"]], "\u786c\u4ef6\u8bbe\u5907\u7684 Layer": [[37, null]], "\u83b7\u53d6\u7269\u7406\u786c\u4ef6\u8bbe\u5907": [[37, "id11"]], "vkEnumeratePhysicalDevices": [[37, "vkenumeratephysicaldevices"], [38, "vkenumeratephysicaldevices"]], "\u83b7\u53d6\u7269\u7406\u8bbe\u5907\u5c5e\u6027": [[37, "id12"]], "vkGetPhysicalDeviceProperties": [[37, "vkgetphysicaldeviceproperties"], [38, "vkgetphysicaldeviceproperties"], [41, null]], "VkPhysicalDeviceProperties": [[37, "vkphysicaldeviceproperties"], [38, "vkphysicaldeviceproperties"]], "\u7a00\u758f": [[37, null]], "VkPhysicalDeviceType": [[37, "vkphysicaldevicetype"], [38, "vkphysicaldevicetype"]], "VK_PHYSICAL_DEVICE_TYPE_CPU": [[37, null]], "\u8bbe\u5907\u961f\u5217\u548c\u529f\u80fd\u57df": [[37, null]], "\u83b7\u53d6\u8bbe\u5907\u961f\u5217\uff08\u65cf\uff09\u4fe1\u606f": [[37, "id14"]], "\u961f\u5217\u65cf": [[37, null]], "VkQueueFlags": [[37, "vkqueueflags"]], "VkQueueFlagBits": [[37, "vkqueueflagbits"]], "VK_QUEUE_GRAPHICS_BIT": [[37, null]], "\u83b7\u53d6 Device \u57df\u51fd\u6570": [[37, "device"]], "vkGetDeviceProcAddr": [[37, "vkgetdeviceprocaddr"]], "vkGetDeviceQueue": [[37, "vkgetdevicequeue"]], "\u5185\u5b58\u5206\u7c7b": [[37, "id19"]], "const VkAllocationCallbacks* pAllocator": [[37, null], [37, null]], "\u65e2\u7136\u6570\u636e\u5728 Host \u7aef\u4e0e Device \u7aef\u90fd\u53ef\u4ee5\u8bbf\u95ee\u7684\u5185\u5b58\u4e2d\uff0c\u4e3a\u4ec0\u4e48\u8fd8\u9700\u8981\u62f7\u8d1d\u81f3 Device \u7aef\u4e2d\uff1f": [[37, null]], "Vulkan \u5185\u5b58": [[37, null]], "\u83b7\u53d6 Vulkan \u652f\u6301\u7684\u5185\u5b58\u4fe1\u606f": [[37, "id20"]], "\u5237\u65b0 \u548c \u5931\u6548 \u64cd\u4f5c": [[37, null]], "VkMemoryHeap \u4e0e \u5806": [[37, null]], "VkDeviceSize": [[37, "vkdevicesize"]], "VkPhysicalDeviceMemoryProperties \u7ed3\u6784\u56fe": [[37, "id21"]], "VkAllocationCallbacks \u4e0e vk[Allocate/Free]Memory": [[37, null]], "\u5206\u914d\u5185\u5b58": [[37, "id23"]], "\u56de\u6536\u5185\u5b58": [[37, "id25"]], "\u8d44\u6e90": [[37, "id26"], [39, "id1"]], "\u7f13\u5b58": [[37, "id27"]], "vkCreateBuffer": [[37, "vkcreatebuffer"], [39, "vkcreatebuffer"]], "VkBufferCreateInfo": [[37, "vkbuffercreateinfo"], [39, "vkbuffercreateinfo"]], "VkBufferUsageFlags": [[37, "vkbufferusageflags"]], "\u5176\u4ed6 VK_BUFFER_USAGE_*_BUFFER_BIT": [[37, null]], "VkSharingMode": [[37, "vksharingmode"], [39, "vksharingmode"]], "VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT": [[37, null]], "\u56fe\u7247": [[37, "image"]], "vkCreateImage": [[37, "vkcreateimage"]], "VkImageCreateInfo": [[37, "vkimagecreateinfo"]], "VkImageType": [[37, "vkimagetype"]], "VkFormat": [[37, "vkformat"]], "VkExtent3D": [[37, "vkextent3d"]], "VkSampleCountFlagBits": [[37, "vksamplecountflagbits"]], "VkImageTiling": [[37, "vkimagetiling"]], "VkImageUsageFlags": [[37, "vkimageusageflags"]], "VK_IMAGE_USAGE_TRANSFER_SRC_BIT \u548c VK_IMAGE_USAGE_TRANSFER_DST_BIT": [[37, null]], "VkImageLayout": [[37, "vkimagelayout"]], "VkImageCreateInfo \u5176\u4ed6\u53c2\u6570\u548c\u7efc\u8ff0": [[37, "id29"]], "\u7efc\u8ff0": [[37, "id30"]], "\u56fe\u7247\u89c6\u56fe": [[37, "id31"]], "vkCreateImageView": [[37, "vkcreateimageview"]], "VkImageViewCreateInfo": [[37, "vkimageviewcreateinfo"]], "VkImageViewType": [[37, "vkimageviewtype"]], "VkComponentMapping": [[37, "vkcomponentmapping"]], "VkComponentSwizzle": [[37, "vkcomponentswizzle"]], "VkImageSubresourceRange": [[37, "vkimagesubresourcerange"]], "VkImageAspectFlags": [[37, "vkimageaspectflags"]], "\u6df1\u5ea6\u548c\u6a21\u677f": [[37, null]], "\u7a00\u758f\u8d44\u6e90": [[37, null]], "\u89e3\u6790\u8303\u56f4": [[37, "id32"]], "\u8d44\u6e90\u4e0e\u5185\u5b58": [[37, "id33"], [40, "id1"]], "vkGetBufferMemoryRequirements": [[37, "vkgetbuffermemoryrequirements"]], "vkGetImageMemoryRequirements": [[37, "vkgetimagememoryrequirements"]], "VkMemoryRequirements": [[37, "vkmemoryrequirements"]], "memoryTypeBits": [[37, "memorytypebits"]], "VK_MAX_MEMORY_TYPES": [[37, null]], "\u8d44\u6e90\u4e0e\u5185\u5b58\u7684\u7ed1\u5b9a": [[37, "id34"]], "vkBindBufferMemory": [[37, "vkbindbuffermemory"]], "vkBindImageMemory": [[37, "vkbindimagememory"]], "\u6570\u636e\u4f20\u8f93": [[37, "id35"]], "\u901a\u8fc7CPU\u5411\u5185\u5b58\u4e2d\u4f20\u8f93\u6570\u636e": [[37, "cpu"]], "\u901a\u8fc7GPU\u5411\u5185\u5b58\u4e2d\u4f20\u8f93\u6570\u636e": [[37, "gpu"]], "\u6307\u4ee4\u7f13\u5b58": [[37, null], [37, "id37"]], "\u6307\u4ee4": [[37, "id36"]], "\u6c60": [[37, null]], "\u6307\u4ee4\u7f13\u5b58\u6c60": [[37, "id38"]], "vkCreateCommandPool": [[37, "vkcreatecommandpool"]], "VkCommandPoolCreateInfo": [[37, "vkcommandpoolcreateinfo"]], "VkCommandPoolCreateFlagBits": [[37, "vkcommandpoolcreateflagbits"]], "\u5206\u914d\u6307\u4ee4\u7f13\u5b58": [[37, "id39"]], "VkCommandBufferAllocateInfo": [[37, "vkcommandbufferallocateinfo"]], "VkCommandBufferLevel": [[37, "vkcommandbufferlevel"]], "\u4e3b\u3001\u6b21\u8981\u6307\u4ee4\u7f13\u5b58": [[37, null]], "\u5f00\u542f\u6307\u4ee4\u7f13\u5b58": [[37, "id40"]], "vkBeginCommandBuffer": [[37, "vkbegincommandbuffer"]], "VkCommandBufferBeginInfo": [[37, "vkcommandbufferbegininfo"]], "pInheritanceInfo": [[37, null]], "VkCommandBufferUsageFlags": [[37, "vkcommandbufferusageflags"]], "Render Pass": [[37, null]], "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT \u4e0e VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT": [[37, null]], "\u6307\u4ee4\u8bb0\u5f55": [[37, "id41"]], "\u7ed3\u675f\u6307\u4ee4\u7f13\u5b58": [[37, "id42"]], "vkEndCommandBuffer": [[37, "vkendcommandbuffer"]], "\u6307\u4ee4\u63a8\u9001": [[37, "id43"]], "vkQueueSubmit": [[37, "vkqueuesubmit"]], "\u6307\u4ee4\u7f13\u5b58\u6279\u6b21": [[37, null]], "VkFence": [[37, null]], "VkSubmitInfo": [[37, "vksubmitinfo"]], "VkSemaphore": [[37, null]], "\u7b49\u5f85\u6307\u4ee4\u7f13\u5b58\u6267\u884c\u5b8c\u6210": [[37, "id45"]], "vkDeviceWaitIdle": [[37, "vkdevicewaitidle"]], "vkQueueWaitIdle": [[37, "vkqueuewaitidle"]], "\u680f\u6805": [[37, "id46"]], "vkCreateFence": [[37, "vkcreatefence"]], "VkFenceCreateInfo": [[37, "vkfencecreateinfo"]], "VkFenceCreateFlags": [[37, "vkfencecreateflags"]], "\u7b49\u5f85\u680f\u6805": [[37, "id47"]], "vkWaitForFences": [[37, "vkwaitforfences"]], "\u7269\u7406\u8bbe\u5907": [[38, "id1"]], "\u83b7\u53d6\u7269\u7406\u8bbe\u5907\u4fe1\u606f": [[38, "id2"]], "VkPhysicalDeviceLimits": [[38, "vkphysicaldevicelimits"]], "VkPhysicalDeviceSparseProperties": [[38, "vkphysicaldevicesparseproperties"], [38, null]], "\u7f13\u5b58\u8d44\u6e90": [[39, "id2"]], "\u521b\u5efa\u7f13\u5b58": [[39, "id3"]], "VkBufferCreateFlags": [[39, null]], "\u7eb9\u7d20": [[39, null]], "\u89c4\u5219\u4e00": [[39, null]], "\u89c4\u5219\u4e8c": [[39, null]], "\u9500\u6bc1\u7f13\u5b58": [[39, "id5"]], "\u56fe\u7247\u8d44\u6e90": [[39, "id7"]], "\u5f00\u59cb\u4e8e Vulkan SDK": [[41, "vulkan-sdk"]], "\u5b89\u88c5 Vulkan SDK": [[41, "id2"]], "\u6c38\u4e45\u6027\u8bbe\u7f6e Vulkan SDK \u73af\u5883\u53d8\u91cf": [[41, null]], "\u9a8c\u8bc1\u5b89\u88c5": [[41, "id3"]], "SDK\u7684\u7248\u672c": [[41, "sdk"]], "Vulkan Loader": [[41, "vulkan-loader"]], "Vulkan\u7684\u7248\u672c": [[41, "vulkan"]], "Instance": [[41, null]], "Vulkan\u7684\u5934\u6587\u4ef6": [[41, "id5"]], "Vulkan\u7684\u5e93": [[41, "id6"]], "vulkan-1.lib": [[41, null]], "Vulkan SDK \u5185\u5bb9": [[41, "id8"]], "Bin \u548c Bin32": [[41, "bin-bin32"]], "SPIR-V": [[41, null]], "Include \u4e0e Lib \u548c Lib32": [[41, "include-lib-lib32"]], "Templates": [[41, "templates"]], "\u67e5\u770b Vulkan \u6240\u6709\u76f8\u5173\u4fe1\u606f": [[41, "id9"]], "Vulkan SDK \u6700\u4f73\u5b9e\u8df5": [[41, "id10"]], "\u4f7f\u7528 Vulkan \u52a8\u6001\u5e93": [[41, null]], "\u4e0d\u4f7f\u7528 Vulkan SDK": [[41, null]], "\u6b22\u8fce\u6765\u5230 Vulkan \u5165\u95e8\u7cbe\u8981": [[42, "vulkan"]], "\u5e8f\u8a00": [[42, "id1"]], "\u8d5e\u52a9 biohazard": [[42, null]], "\u5165\u95e8\u7cbe\u8981": [[42, null]], "\u6587\u732e\u7ffb\u8bd1": [[42, null]], "\u5de5\u7a0b\u5e94\u7528": [[42, null]], "Test": [[43, "test"]], "Math": [[43, "math"]], "This is a heading 2": [[43, "this-is-a-heading-2"]], "This is a heading 3": [[43, "this-is-a-heading-3"]], "This is a heading 4": [[43, "this-is-a-heading-4"]], "This is a heading 5": [[43, "this-is-a-heading-5"]], "This is a heading 6": [[43, "this-is-a-heading-6"]], "And, by the way\u2026": [[43, null]], "Topic Title": [[43, null]], "Optional Sidebar Title": [[43, null]], "Truth table for \u201cnot\u201d": [[43, "id8"]], "Frozen Delights!": [[43, "id9"], [43, "id10"]]}, "indexentries": {"myclass\uff08c++ class\uff09": [[43, "_CPPv47MyClass"]], "foo()\uff08\u5728 some.module.name \u6a21\u5757\u4e2d\uff09": [[43, "some.module.name.foo"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["Application/VolumetricCloud", "Application/WebGPUHelloTriangle", "Application/WebGPUImGui", "Application/WebGPUShaderCompiler", "Application/index", "Changelog", "DeviceQueue", "EnvironmentalConfig", "InformalEssay/VK_KHR_buffer_device_address", "InformalEssay/VSCode", "InformalEssay/VulkanForAndroid", "InformalEssay/VulkanKHRRayTracing/ShaderBindingTable", "InformalEssay/VulkanKHRRayTracing/VK_KHR_acceleration_structure", "InformalEssay/VulkanKHRRayTracing/VK_KHR_deferred_host_operations", "InformalEssay/VulkanKHRRayTracing/VK_KHR_ray_tracing_pipeline", "InformalEssay/VulkanKHRRayTracing/VulkanKHRRayTracing", "InformalEssay/index", "Instance", "Introduction", "Literature/NVIDIAVulkanRayTracingTutorial/NVIDIAVulkanRayTracingTutorial", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Animation", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/AnyHitShaders", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/CallableShaders", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Instances", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/IntersectionShader", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/JitterCamera", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/MultipleClosestHitShaders", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/RayQuery", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Reflections", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/glTFScene", "Literature/TheRTXShaderBindingTableThreeWays", "Literature/Vulkan-GuideRayTracing", "Literature/VulkanRayTracingFinalSpecificationRelease", "Literature/index", "Literature/vk_mini_path_tracer", "LogicDevice", "Memory", "Overview", "PhysicalDevice", "Resource", "ResourceAndMemory", "StartFromVulkanSDK", "index", "test"], "filenames": ["Application/VolumetricCloud.md", "Application/WebGPUHelloTriangle.rst", "Application/WebGPUImGui.rst", "Application/WebGPUShaderCompiler.rst", "Application/index.rst", "Changelog.md", "DeviceQueue.rst", "EnvironmentalConfig.rst", "InformalEssay/VK_KHR_buffer_device_address.rst", "InformalEssay/VSCode.rst", "InformalEssay/VulkanForAndroid.rst", "InformalEssay/VulkanKHRRayTracing/ShaderBindingTable.rst", "InformalEssay/VulkanKHRRayTracing/VK_KHR_acceleration_structure.rst", "InformalEssay/VulkanKHRRayTracing/VK_KHR_deferred_host_operations.rst", "InformalEssay/VulkanKHRRayTracing/VK_KHR_ray_tracing_pipeline.rst", "InformalEssay/VulkanKHRRayTracing/VulkanKHRRayTracing.rst", "InformalEssay/index.rst", "Instance.rst", "Introduction.rst", "Literature/NVIDIAVulkanRayTracingTutorial/NVIDIAVulkanRayTracingTutorial.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Animation.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/AnyHitShaders.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/CallableShaders.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Instances.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/IntersectionShader.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/JitterCamera.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/MultipleClosestHitShaders.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/RayQuery.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/Reflections.rst", "Literature/NVIDIAVulkanRayTracingTutorial/extensions/glTFScene.rst", "Literature/TheRTXShaderBindingTableThreeWays.rst", "Literature/Vulkan-GuideRayTracing.rst", "Literature/VulkanRayTracingFinalSpecificationRelease.md", "Literature/index.rst", "Literature/vk_mini_path_tracer.rst", "LogicDevice.rst", "Memory.rst", "Overview.rst", "PhysicalDevice.rst", "Resource.rst", "ResourceAndMemory.rst", "StartFromVulkanSDK.rst", "index.rst", "test.rst"], "titles": ["\u4f53\u79ef\u4e91", "WebGPU Hello Triangle", "WebGPU ImGui", "WebGPU Shader Compiler", "\u5e94\u7528", "\u66f4\u65b0\u65e5\u5fd7", "\u8bbe\u5907\u961f\u5217", "\u73af\u5883\u914d\u7f6e", "VK_KHR_buffer_device_address", "Visual Studio Code", "Android \u5e73\u53f0\u9002\u914d", "\u7740\u8272\u5668\u7ed1\u5b9a\u8868", "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations", "VK_KHR_ray_tracing_pipeline", "Vulkan KHR \u5149\u7ebf\u8ffd\u8e2a\u6807\u51c6", "Vulkan \u6807\u51c6", "\u6700\u521d\u4e4b\u7269 VkInstance", "\u4ecb\u7ecd", "NVIDIA Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6559\u7a0b", "\u52a8\u6001\u66f4\u65b0", "\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\uff08Any Hit Shaders\uff09\u6559\u7a0b", "\u53ef\u8c03\u7528\u7740\u8272\u5668", "\u5b9e\u4f8b\u5316", "\u76f8\u4ea4\u7740\u8272\u5668", "\u76f8\u673a\u6296\u52a8\u6297\u952f\u9f7f\u6559\u7a0b", "\u591a\u91cd\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668", "\u5149\u7ebf\u67e5\u8be2", "\u53cd\u5c04", "glTF \u573a\u666f", "RTX \u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u4e09\u79cd\u65b9\u5f0f", "\u5149\u7ebf\u8ffd\u8e2a", "Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6700\u7ec8\u6807\u51c6\u53d1\u5e03", "\u6587\u732e", "Vulkan\u8ff7\u4f60\u8def\u5f84\u8ffd\u8e2a", "\u903b\u8f91\u8bbe\u5907", "\u5185\u5b58", "\u7eb5\u89c8", "\u7269\u7406\u8bbe\u5907", "\u8d44\u6e90", "\u8d44\u6e90\u4e0e\u5185\u5b58", "\u5f00\u59cb\u4e8e Vulkan SDK", "\u6b22\u8fce\u6765\u5230 Vulkan \u5165\u95e8\u7cbe\u8981", "Test"], "terms": {"2023": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 41, 42], "19": [0, 4, 12, 13, 15, 19, 36, 37, 42], "turbo": [0, 3, 42], "volumetriccloud": 0, "gpu": [0, 11, 12, 17, 18, 19, 20, 24, 25, 26, 28, 31, 36, 39], "pro": 0, "revis": 0, "2013": 0, "real": 0, "time": [0, 11, 12, 14, 20, 25, 37], "volumetr": 0, "cours": [0, 43], "note": [0, 23, 32, 43], "cloud": 0, "physic": [0, 8, 37], "base": [0, 19, 41], "ii": 0, "billboard": 0, "blender": 0, "3dmax": 0, "ken": 0, "steven": 0, "sin": [0, 20, 29, 43], "ax": 0, "cos": [0, 20, 29], "jx": 0, "shadertoy": 0, "hash33": 0, "defin": [0, 17, 19, 21, 22, 23, 24, 29, 32, 36, 37, 41], "ui0": 0, "1597334673u": 0, "ui1": 0, "3812015801u": 0, "ui2": 0, "uvec2": 0, "ui3": 0, "uvec3": 0, "2798796415u": 0, "uif": 0, "float": [0, 11, 12, 19, 20, 22, 23, 24, 25, 27, 28, 29, 35, 36, 37, 38, 39, 43], "0xffffffffu": 0, "vec3": [0, 11, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29], "ivec3": [0, 19], "return": [0, 10, 19, 21, 24, 25, 29, 36, 37, 43], "gradientnois": 0, "freq": 0, "floor": 0, "fract": 0, "iq": 0, "15": [0, 11, 12, 18, 29, 32, 33, 34, 36, 37, 42], "10": [0, 9, 15, 20, 22, 24, 25, 27, 28, 32, 33, 36, 37, 41, 42, 43], "ga": 0, "mod": 0, "gb": [0, 37], "gc": 0, "gd": 0, "ge": 0, "gf": 0, "gg": 0, "gh": 0, "va": 0, "dot": [0, 19, 22, 24, 29], "vb": 0, "vc": 0, "vd": 0, "ve": 0, "vf": 0, "vg": 0, "vh": 0, "hurst": 0, "expon": 0, "octav": 0, "perlinworleynoisetest": 0, "in": [0, 19, 29, 31, 37, 43], "vecn": 0, "numoctav": 0, "for": [0, 6, 10, 19, 20, 23, 24, 25, 28, 29, 32, 35, 37, 38], "int": [0, 10, 11, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 36, 43], "pow": 0, "perlinfbm": 0, "exp2": 0, "85": 0, "amp": 0, "27": [0, 3, 19, 36, 37, 39], "worleynois": 0, "uv": [0, 5, 39], "id": [0, 12, 19, 24, 29, 37, 38], "mindist": 0, "10000": [0, 19], "offset": [0, 12, 19, 20, 24, 29, 32, 36, 37], "min": [0, 19, 21, 24, 28, 29, 36], "worleyfbm": 0, "625": 0, "25": [0, 3, 7, 17, 19, 21, 25, 37], "125": 0, "lx": 0, "ly": 0, "ymin": 0, "result": [0, 12, 17, 19, 35, 36, 37, 39], "xmin": 0, "xmax": 0, "ymax": 0, "128": 0, "r8g8b8a8": [0, 39], "perlinworley": 0, "vec4": [0, 19, 22, 25, 26, 28, 29], "color": [0, 19, 26, 36, 37, 39], "mix": [0, 25, 29], "perlin_fbm": 0, "abs": [0, 20, 24, 29], "pfbm": 0, "32": [0, 11, 12, 19, 28, 29, 31, 32, 37, 41], "r8g8b8": 0, "rgb": [0, 26], "worleyfbm3dnois": 0, "bloom": 0, "hdr": 0, "cpu": [0, 12, 18, 19, 20, 31, 32, 36, 38, 39], "camerapo": 0, "forwarddir": 0, "near": 0, "fov": [0, 25, 29], "aspect": 0, "ab": 0, "width": [0, 11, 19, 22, 37, 39], "height": [0, 11, 19, 22, 37, 39], "raydir": [0, 19, 21, 28], "pixelworldpo": 0, "cameraworldpo": 0, "vec": 0, "pixelrelativecameraworldpo": 0, "mid": 0, "camerarightdir": 0, "cameraupdir": 0, "camerrightdir": 0, "camerupdir": 0, "updir": 0, "ndc": 0, "normal": [0, 19, 20, 22, 24, 28, 29, 37, 39, 43], "devic": [0, 8, 14, 17, 19, 31, 35, 36, 38, 39, 41, 42], "coordin": [0, 19], "ndcp": 0, "fraguv": 0, "ndcw": 0, "frac": [0, 43], "halfwidth": 0, "halfheight": 0, "tan": 0, "layout": [0, 14, 19, 20, 21, 22, 24, 26, 27], "push_const": [0, 19, 20, 22], "uniform": [0, 8, 19, 20, 22, 25, 27], "my_push_constants_t": 0, "resolutionx": 0, "resolutioni": 0, "cameraposx": 0, "cameraposi": 0, "cameraposz": 0, "lookforwarddirx": 0, "lookforwarddiri": 0, "lookforwarddirz": 0, "my_push_const": 0, "pi": [0, 20], "1415926": 0, "void": [0, 6, 8, 10, 11, 12, 14, 17, 19, 20, 21, 22, 24, 25, 26, 27, 29, 35, 36, 37, 38, 39, 41], "main": [0, 7, 10, 20, 21, 22, 23, 24, 25, 28, 29], "itim": [0, 20], "vec2": [0, 19, 25], "iresolut": 0, "fragcoord": 0, "lookforwarddir": 0, "rightdir": 0, "cross": [0, 29], "screen_ndc": 0, "corrdin": 0, "horizontalfov": 0, "60": 0, "screenhalfwidth": 0, "screenhalfheight": 0, "pixel_po": 0, "camerpo": 0, "outcolor": 0, "raymarchingtest": 0, "struct": [0, 6, 8, 10, 11, 12, 14, 17, 19, 21, 22, 24, 25, 26, 28, 29, 35, 36, 37, 38, 39, 41], "vertexdata": [0, 12, 19, 29], "pos": [0, 19, 20], "corner0_ray_dir": 0, "cal_ray": 0, "corner1_ray_dir": 0, "symmetr": 0, "corner2_ray_dir": 0, "corner3_ray_dir": 0, "vector": [0, 6, 17, 19, 20, 24, 26, 27, 35, 36, 37, 38, 39], "vertex_data": 0, "push_back": [0, 17, 19, 20, 21, 22, 23, 24, 26, 29, 35, 36, 37, 39], "context": [0, 18, 19], "bindvertexbuff": 0, "vertex": [0, 3, 19, 20, 21, 29, 39], "shader": [0, 4, 5, 20, 25, 26, 31, 42], "out": [0, 19, 23, 29, 43], "vertexshad": 0, "fragment": 0, "fragmentshad": 0, "pixel_ray_dir": 0, "someresult": 0, "origin": [0, 11, 19, 21, 24, 27, 28, 29, 31], "dir": 0, "const": [0, 8, 10, 11, 12, 14, 17, 19, 20, 24, 25, 27, 29, 35, 36, 39, 41], "maxstep": 0, "max_step_count": 0, "step": 0, "step_length": 0, "distanc": 0, "do_something_at_point": 0, "halfdiagon": 0, "halfstrip": 0, "strip": 0, "length": [0, 19, 20, 22], "posit": [0, 25, 29, 36, 37, 39], "forward": 0, "boundingbox": 0, "halfdiagonalvector": 0, "rayorigin": [0, 28, 29], "point": [0, 22, 25, 43], "left": [0, 43], "begin": 0, "array": [0, 19], "end": 0, "right": [0, 43], "o_x": 0, "r_x": 0, "o_i": 0, "r_i": 0, "o_z": 0, "r_z": 0, "i_x": 0, "p_x": 0, "i_i": 0, "p_i": 0, "i_z": 0, "p_z": 0, "n_x": 0, "n_i": 0, "n_z": 0, "surfac": 0, "bool": [0, 19, 21, 25, 37], "calraysurafaceintersectdist": 0, "surfacepoint": 0, "surfacenorm": 0, "if": [0, 6, 9, 10, 12, 17, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 31, 35, 36, 37, 38, 39, 43], "fals": [0, 10, 19, 21, 25, 27, 37, 43], "surface_norm": 0, "ray_dir": 0, "true": [0, 10, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 31, 37, 43], "boudingboxorthogonalbasi": 0, "up": [0, 43], "getboundingboxorthogonalbasi": 0, "boundingboxs": 0, "glsl": [0, 3, 20, 21, 22, 24, 25, 26, 29, 31, 32, 41], "getboundingboxs": 0, "half_diagonal_vector": 0, "ispointinboundingbox": 0, "bounding_box_po": 0, "bounding_box_to_point_vector": 0, "bounding_box_orthogonal_basi": 0, "bounding_box_s": 0, "bounding_box_forward": 0, "bounding_box_up": 0, "bounding_box_right": 0, "project_bounding_box_forward_length": 0, "project_bounding_box_up_length": 0, "project_bounding_box_right_length": 0, "bounding_box_half_width": 0, "bounding_box_half_height": 0, "bounding_box_half_strip": 0, "https": [0, 19, 25, 29, 32], "www": [0, 19, 25, 32], "bilibili": 0, "com": [0, 7, 10, 19, 20, 25, 32], "video": 0, "bv1mg4y1z7ji": 0, "spm_id_from": 0, "333": 0, "999": 0, "bv1224y117nt": 0, "little_compens": 0, "0005": 0, "boudingboxsurfac": 0, "positiveforwardsurfac": 0, "negativeforwardsurfac": 0, "positiveupsurfac": 0, "negativeupsurfac": 0, "positiverightsurfac": 0, "negativerightsurfac": 0, "getboundingboxsurfac": 0, "bouding_box_orthogonal_basi": 0, "positive_forward_surface_norm": 0, "positive_forward_surface_point": 0, "negative_forward_surface_norm": 0, "negative_forward_surface_point": 0, "positive_up_surface_norm": 0, "positive_up_surface_point": 0, "negative_up_surface_norm": 0, "negative_up_surface_point": 0, "positive_right_surface_norm": 0, "positive_right_surface_point": 0, "negative_right_surface_norm": 0, "negative_right_surface_point": 0, "la": 0, "lb": 0, "lc": 0, "boundingboxintersect": 0, "firstinterectionpo": 0, "secondinterectionpo": 0, "intersect": [0, 14, 19, 24, 31], "bounding_box_surfac": 0, "ray_origin_to_positive_forward_surface_dist": 0, "is_positive_forward_surface_intersect": 0, "ray_origin_to_negative_forward_surface_dist": 0, "is_negative_forward_surface_intersect": 0, "ray_origin_to_positive_up_surface_dist": 0, "is_positive_up_surface_intersect": 0, "ray_origin_to_negative_up_surface_dist": 0, "is_negative_up_surface_intersect": 0, "ray_origin_to_positive_right_surface_dist": 0, "is_positive_right_surface_intersect": 0, "ray_origin_to_negative_right_surface_dist": 0, "is_negative_right_surface_intersect": 0, "positive_forward_surface_intersect": 0, "is_point_in_bounding_box": 0, "negative_forward_surface_intersect": 0, "positive_up_surface_intersect": 0, "negative_up_surface_intersect": 0, "positive_right_surface_intersect": 0, "negative_right_surface_intersect": 0, "uint": [0, 11, 19, 21, 25, 29], "intersection_count": 0, "origin_to_surface_dist": 0, "index": [0, 6, 37], "min_dist": 0, "max_dist": 0, "max": [0, 6, 19, 21, 24, 25, 28, 29, 37], "raymarchingboundingboxtest": 0, "raymarchingboundingbox": 0, "is_intersect": 0, "start_po": 0, "end_po": 0, "max_step": 0, "getsamplepointposit": 0, "lower_right_corner_po": 0, "lower_right_corner_to_point": 0, "lower_right_corner_strip_dir": 0, "lower_right_corner_up_dir": 0, "lower_right_corner_width_dir": 0, "project_strip": 0, "project_height": 0, "project_width": 0, "sample_point": 0, "gif": 0, "set": [0, 9, 21, 24, 33], "bind": [0, 20, 21, 24, 27], "texture3d": 0, "perlinworleynois": 0, "sampler": 0, "mysampl": 0, "textur": [0, 19, 29], "sampler3d": 0, "yzw": 0, "perlin_worley": 0, "worly_fbm": 0, "coverag": 0, "hash": 0, "12": [0, 15, 26, 28, 31, 32, 33, 37, 41], "256": [0, 12, 19], "646": 0, "356": 0, "radianc": 0, "exp": 0, "raymarchingperlinworleynois": 0, "product": 0, "siggraph": 0, "2017": [0, 18], "2011": 0, "wrenning": 0, "2012": 0, "renderman": 0, "arnold": 0, "hyperion": 0, "x_t": 0, "tw": 0, "sigma_a": 0, "absorpt": 0, "coeffici": 0, "sigma_": 0, "sigma_t": 0, "alpha": 0, "2016": [0, 18], "sky": 0, "atmospher": 0, "and": [0, 23, 31, 37, 41], "frostbit": 0, "rho": 0, "f_p": 0, "phase": 0, "function": [0, 37, 43], "xi": 0, "zeta": 0, "lumin": 0, "l_d": 0, "x_d": 0, "l_e": 0, "l_s": 0, "sigma": 0, "the": [0, 19, 23, 25, 29, 31, 37, 42], "unit": 0, "of": [0, 19, 23, 37, 42, 43], "collis": 0, "is": [0, 23, 37], "invers": 0, "mean": [0, 43], "free": [0, 36], "path": [0, 41], "lambda": [0, 19], "theta": [0, 22, 43], "int_": 0, "tag": 0, "bsdf": 0, "bidirect": 0, "distribut": 0, "isotrop": 0, "anisotrop": 0, "mie": 0, "solut": [0, 7], "maxwel": 0, "rayleigh": 0, "henyey": 0, "greenstein": 0, "1941": 0, "2gcos": 0, "attenu": [0, 19, 28], "rte": 0, "equilibrium": 0, "field": [0, 43], "cdot": 0, "nabla": [0, 43], "pbrt": 0, "from": [0, 43], "theori": 0, "to": [0, 3, 19, 27, 37, 42, 43], "implement": 0, "dw": 0, "can": [0, 23, 43], "be": [0, 43], "direct": [0, 7, 11, 19, 21, 22, 24, 27, 28, 29, 31], "use": [0, 23, 24, 43], "finit": 0, "element": [0, 43], "method": 0, "such": 0, "as": [0, 19, 43], "radios": 0, "cohen": 0, "et": 0, "al": 0, "1993": 0, "more": [0, 23], "general": [0, 7, 19], "but": 0, "not": [0, 23, 31], "trace": [0, 14, 19, 32], "provid": [0, 12, 14, 36, 37, 39], "this": [0, 10, 23, 36, 37], "formul": 0, "vre": 0, "x_s": 0, "ds": 0, "dt": 0, "sw": 0, "11": [0, 15, 22, 29, 32, 33, 41, 42], "transmitt": [0, 19], "big": 0, "t_d": 0, "mont": 0, "carlo": 0, "russian": 0, "roulett": 0, "reject": 0, "sampl": [0, 19, 29, 31, 37, 39, 43], "transform": [0, 12, 20, 24, 26, 29], "ulam": 0, "homogen": 0, "cumul": 0, "analyt": 0, "invert": 0, "13": [0, 12, 15, 26, 33], "fight": 0, "estim": 0, "14": [0, 8, 11, 12, 14, 15, 18, 23, 33, 36, 37, 42], "ln": 0, "24": [1, 2, 4, 12, 19, 21, 25, 29, 36, 37], "26": [3, 19, 29, 36, 37], "28": [3, 17, 19, 29, 37, 39, 41], "29": [3, 19, 25, 37, 39, 41], "31": [3, 9, 18, 19, 21, 39, 41, 42], "pureccppwebshadercompil": 3, "webshad": 3, "juli": 3, "miss": [3, 11, 14, 31], "callabl": [3, 11, 14, 19, 32], "task": 3, "mesh": 3, "bug": 3, "hlsl": [3, 32, 41], "msl": 3, "reflect": [3, 28, 29], "tessel": 3, "control": 3, "evalu": 3, "geometri": [3, 12, 19, 24, 29], "comput": 3, "convert": 3, "spir": [3, 12, 19, 31, 32, 35], "languag": 3, "binari": 3, "disassembl": 3, "spirv": [3, 41], "tool": [3, 32, 41], "target": [3, 19, 43], "ctrl": 3, "code": [3, 5, 7, 42, 43], "viewer": 3, "editor": [3, 9], "edit": [3, 7], "past": 3, "type": [3, 10, 12, 14, 19, 20, 21, 22, 24, 26, 32], "client": 3, "consol": 3, "vulkan": [3, 5, 6, 10, 12, 14, 17, 20, 21, 22, 24, 25, 26, 27, 28, 29, 31, 33, 35, 36, 38, 39], "api": [3, 10, 12, 15, 17, 18, 19, 23, 31, 32, 41, 42], "wgsl": 3, "includ": [3, 7, 10, 19, 20, 21, 22, 23, 24, 25, 26, 29, 36, 37, 43], "webgpu": [4, 5, 42], "imgui": [4, 5, 19, 23, 25, 28, 42], "hello": [4, 5, 42], "triangl": [4, 5, 12, 19, 29, 42], "compil": [4, 5, 42], "vkinstanc": [5, 36, 38, 41, 42, 43], "sourc": [5, 7, 10, 41, 43], "_static": 5, "css": 5, "custom_cont": 5, "custom_sidebar_draw": 5, "sdk": [5, 10, 19, 37, 42], "gltf": [5, 19], "visual": [5, 7, 19, 26, 41, 42], "studio": [5, 7, 10, 19, 26, 41, 42], "nvidia": [5, 12, 23, 24, 32, 33, 35, 37, 42], "android": [5, 17, 41, 42], "khr": [5, 8, 12, 16, 17, 19, 42], "ani": [5, 14, 19, 31, 43], "hit": [5, 11, 14, 19, 24, 26, 31], "vk_khr_ray_tracing_pipelin": [5, 11, 15, 16, 19, 32, 33, 35], "shadercompil": 5, "imguitest": 5, "hellotriangl": 5, "pv": 5, "vk_khr_buffer_device_address": [5, 12, 16, 32, 35, 42], "vk_khr_acceleration_structur": [5, 14, 15, 16, 19, 32, 33, 35], "vk_khr_deferred_host_oper": [5, 12, 14, 15, 16, 32, 33], "rtx": [5, 19, 33, 42], "sphinx_design": 5, "sphinx": 5, "readm": 5, "hypothesi": 5, "applic": [5, 23, 37], "sphinx_last_updated_by_git": 5, "github": [5, 7, 24, 32], "workflow": 5, "releas": [5, 10, 32], "yml": 5, "conf": 5, "py": 5, "literatur": 5, "guideraytrac": 5, "rst": 5, "markdowntest": 5, "md": 5, "markdown": 5, "mermaid": 5, "test": 5, "restructuredtext": 5, "furo": 5, "2024": [6, 17, 35, 36, 37, 38, 39, 40, 41, 42], "vk_version_1_0": [6, 17, 35, 36, 37, 38, 39], "vkphysicaldevic": [6, 12, 19, 35, 36, 37, 38, 41, 43], "physicaldevic": [6, 12, 35, 36, 38, 41], "uint32_t": [6, 10, 11, 12, 14, 17, 20, 23, 24, 26, 29, 35, 36, 37, 38, 39, 41], "pqueuefamilypropertycount": [6, 37], "pqueuefamilyproperti": [6, 37], "nunllptr": 6, "physical_devic": [6, 35, 37, 38, 43], "queue_family_property_count": 6, "nullptr": [6, 12, 17, 19, 20, 35, 36, 37, 38, 39], "std": [6, 17, 19, 20, 23, 24, 26, 28, 35, 36, 37, 38, 39], "queue_family_properti": 6, "data": [6, 10, 12, 17, 19, 20, 24, 26, 29, 32, 35, 36, 37, 38], "typedef": [6, 8, 11, 12, 14, 17, 19, 35, 36, 37, 38, 39, 41], "vkqueueflag": 6, "queueflag": [6, 37], "queuecount": [6, 35, 37], "timestampvalidbit": [6, 37], "vkextent3d": 6, "minimagetransfergranular": [6, 37], "36": [6, 37], "64": [6, 8, 15, 37, 41], "vkqueueflagbit": 6, "enum": [6, 12, 14, 19, 21, 22, 24, 26, 36, 37, 38, 39], "vk_queue_graphics_bit": 6, "0x00000001": [6, 12, 36, 37, 39], "vk_queue_compute_bit": [6, 37], "0x00000002": [6, 12, 36, 37, 39], "vk_queue_transfer_bit": [6, 37], "0x00000004": [6, 12, 36, 37, 39], "vk_queue_sparse_binding_bit": [6, 37], "0x00000008": [6, 12, 36, 37, 39], "vk_version_1_1": [6, 37], "vk_queue_protected_bit": [6, 37], "0x00000010": [6, 12, 36, 37, 39], "queue_family_count": [6, 37], "queue_famili": [6, 37], "uint32_max": [6, 37], "numeric_limit": [6, 37], "break": [6, 10, 28, 35, 37, 38], "throw": [6, 17, 19, 35, 36, 37, 38, 39], "runtime_error": [6, 17, 19, 35, 36, 37, 38, 39], "22": [7, 19, 20, 37, 41, 42], "window": [7, 17, 19, 36, 37, 41], "khrono": [7, 17, 32, 41, 42], "download": [7, 41], "zip": [7, 10], "clone": [7, 19], "khronosgroup": [7, 31], "2019": [7, 19], "project": [7, 19, 41], "name": [7, 10, 37, 43], "locat": [7, 21, 22, 26, 28, 29, 32], "creat": [7, 22, 23, 26], "explor": 7, "view": [7, 19], "file": [7, 43], "add": [7, 43], "new": [7, 10, 36, 37], "item": [7, 43], "cpp": [7, 10, 19, 20, 24, 25, 28, 29, 43], "properti": [7, 41], "configur": 7, "addit": 7, "debug": 7, "x64": [7, 19], "ok": 7, "appli": 7, "linux": [7, 17, 19, 36, 37, 41], "20": [8, 16, 19, 20, 23, 24, 25, 26, 32, 37, 41], "21": [8, 12, 14, 19, 20, 27, 36, 37, 41], "vk_khr_get_physical_device_properties2": [8, 12, 14], "instanc": [8, 12, 14, 17, 19, 20, 24, 36, 37, 38, 43], "vk_khr_device_group": [8, 12], "vk_khr_device_group_cr": [8, 12], "vkphysicaldevicebufferdeviceaddressfeatureskhr": 8, "bufferdeviceaddress": [8, 32], "vk_version_1_2": [8, 12], "vkdeviceaddress": [8, 11, 12, 19, 24, 29], "vkdevic": [8, 12, 14, 35, 36, 37, 39], "pinfo": [8, 12], "buffer": [8, 11, 12, 14, 19, 20, 21, 24, 26, 29, 32, 37, 39], "spv_khr_physical_storage_buff": 8, "physicalstoragebuff": 8, "null": [8, 10, 12, 14, 17, 19, 35, 36, 37, 38, 39], "vkbufferopaquecaptureaddresscreateinfo": 8, "opaquecaptureaddress": 8, "vkmemoryrequir": 8, "align": [8, 12, 19, 24, 36, 37], "vkbuffer": [8, 11, 12, 29, 32, 37, 39], "vkdevicememori": [8, 12, 19, 36, 37], "bufferdeviceaddressmultidevic": [8, 12], "vkstructuretyp": [8, 12, 14, 17, 35, 36, 37, 39, 41], "stype": [8, 12, 14, 17, 35, 36, 39, 41], "pnext": [8, 12, 14, 17, 19, 32, 35, 36, 39, 41], "vk_structure_type_buffer_device_address_info": [8, 19, 20], "vk_buffer_create_device_address_capture_replay_bit": [8, 12], "vk_buffer_usage_shader_device_address_bit": [8, 12, 19, 20, 24, 29], "storag": [8, 26], "access": 8, "uint64_t": [8, 10, 12, 29, 37], "memori": [8, 19, 23, 36], "vk_structure_type_device_memory_opaque_capture_address_info": 8, "workbench": 9, "reveal": 9, "open": 9, "23": [10, 19, 32, 36, 37, 41, 42], "jetpack": 10, "ndk": 10, "java": [10, 37], "aar": 10, "prefab": 10, "modul": [10, 19, 20, 21, 22, 24, 26, 43], "text": [10, 43], "input": [10, 19, 24, 29, 43], "gametextinput": 10, "cmakelist": 10, "txt": 10, "libandroid": 10, "so": [10, 37, 41], "find_packag": 10, "requir": [10, 19, 20, 21, 24, 26], "config": [10, 41], "target_link_librari": 10, "extern": 10, "native_app_glu": 10, "android_native_app_glu": 10, "android_app": 10, "state": 10, "app": 10, "nativeengin": 10, "engin": 10, "gameloop": 10, "delet": [10, 37], "nativeappglueappcmd": 10, "onappcmd": 10, "mapp": 10, "userdata": 10, "textinputst": 10, "while": [10, 20, 27, 29, 37], "event": 10, "android_poll_sourc": 10, "isanim": 10, "alooper_pollal": 10, "process": [10, 43], "destroyrequest": 10, "dofram": 10, "android_app_set_motion_event_filt": 10, "android_app_set_key_event_filt": 10, "source_touchscreen": 10, "android_app_swap_input_buff": 10, "android_input_buff": 10, "motioneventscount": 10, "keyeventscount": 10, "motionev": 10, "inputbuff": 10, "gameactivitymotionev": 10, "pointercount": 10, "action": 10, "actionmask": 10, "amotion_event_action_mask": 10, "pointerindex": 10, "gameactivity_max_num_pointers_in_motion_ev": 10, "cookedev": 10, "ev": 10, "memset": 10, "sizeof": [10, 19, 20, 24, 25, 26, 29, 36, 37, 39], "motionisonscreen": 10, "ainput_source_touchscreen": 10, "motionminx": 10, "0f": [10, 20, 21, 23, 25, 29, 35, 37, 43], "motionmaxx": 10, "scenemanag": 10, "getinst": 10, "getscreenwidth": 10, "motionmini": 10, "motionmaxi": 10, "getscreenheight": 10, "switch": [10, 37], "case": [10, 23, 37, 43], "amotion_event_action_down": 10, "cooked_event_type_pointer_down": 10, "amotion_event_action_pointer_down": 10, "amotion_event_action_pointer_index_mask": 10, "amotion_event_action_pointer_index_shift": 10, "amotion_event_action_up": 10, "cooked_event_type_pointer_up": 10, "amotion_event_action_pointer_up": 10, "amotion_event_action_mov": 10, "cooked_event_type_pointer_mov": 10, "_cookeventforpointerindex": 10, "callback": 10, "default": [10, 21, 41, 43], "android_app_clear_motion_ev": 10, "dcmake_toolchain_fil": 10, "build": [10, 19], "toolchain": 10, "dandroid_abi": 10, "abi": 10, "dandroid_platform": 10, "minsdkvers": 10, "other_arg": 10, "armeabi": 10, "v7a": 10, "with": [10, 43], "neon": 10, "dandroid_arm_neon": 10, "on": [10, 21, 43], "arm64": 10, "v8a": 10, "x86": 10, "x86_64": [10, 41], "android_native_api_level": 10, "android_platform": 10, "r20": 10, "16": [10, 12, 18, 19, 22, 24, 25, 35, 36, 37, 39, 41, 42], "android23": 10, "ninja": 10, "gninja": 10, "import": [10, 43], "googl": 10, "androidgamesdk": 10, "public": [10, 43], "class": [10, 43], "yourgameact": 10, "extend": [10, 37], "endlesstunnelact": 10, "static": [10, 25, 29, 37], "androidmanifect": 10, "xml": [10, 41], "system": [10, 43], "loadlibrari": 10, "libmain": 10, "androidmanifest": 10, "meta": [10, 36], "lib_nam": 10, "valu": [10, 43], "vkcmdtraceraysnv": 11, "vkcmdtracerayskhr": [11, 14, 19, 22, 31, 32], "vkcmdtraceraysindirectkhr": [11, 14, 31, 32], "vkraytracingpipelinecreateinfokhr": [11, 15, 19, 26, 31], "pgroup": [11, 14, 19], "vkgetraytracingshadergrouphandleskhr": [11, 15, 19], "handl": [11, 19, 37], "uint8_t": [11, 12, 19, 37, 38, 39, 41], "vkphysicaldeviceraytracingpipelinepropertieskhr": [11, 15, 19, 27], "shadergrouphandles": [11, 14, 19, 26], "group": [11, 14, 19, 21, 22, 24, 26], "rg": 11, "shadow": [11, 31], "vkcommandbuff": [11, 12, 14, 19, 20, 29, 37], "commandbuff": [11, 12, 14, 18, 19, 37], "vkstrideddeviceaddressregionkhr": [11, 19, 22, 32], "praygenshaderbindingt": 11, "pmissshaderbindingt": [11, 19], "phitshaderbindingt": [11, 19], "pcallableshaderbindingt": [11, 19], "depth": [11, 19, 28, 37, 39], "deviceaddress": [11, 12, 19, 20, 24, 29], "vkdevices": [11, 12, 14, 19, 36, 38, 39], "stride": [11, 12, 19, 24, 26], "size": [11, 12, 17, 19, 20, 24, 26, 29, 32, 35, 36, 37, 39], "shadergrouphandlealign": [11, 14, 19, 26], "shadergroupbasealign": [11, 14, 19], "tracerayext": [11, 19, 25, 26, 28, 29, 31, 32], "accelerationstructureext": [11, 19, 27, 32], "toplevel": [11, 19], "rayflag": [11, 19, 21, 28, 29], "cullmask": [11, 19, 21, 28, 29, 31], "sbtrecordoffset": [11, 19, 21, 26, 28, 29], "sbtrecordstrid": [11, 19, 21, 28, 29], "missindex": [11, 19, 21, 28, 29], "tmin": [11, 19, 21, 24, 27, 29, 31], "tmax": [11, 19, 21, 24, 27, 29, 31], "payload": [11, 14, 19, 21, 28, 29, 32], "vkaccelerationstructureinstancekhr": [11, 15, 19, 20, 23, 24, 29], "instanceshaderbingdingtablerecordoffset": 11, "instanceshaderbindingtablerecordoffset": [11, 12, 19, 20, 24, 26, 29], "geometryindex": 11, "executecallableext": [11, 22], "sbtrecordindex": 11, "vkaccelerationstructurekhr": [12, 19, 27, 32], "bvh": 12, "vk_ext_descriptor_index": [12, 32], "vk_khr_maintenance3": 12, "vkcmdbuildaccelerationstructuresindirectkhr": [12, 32], "vkgetphysicaldevicefeatures2": [12, 14], "vkphysicaldevicefeatures2": [12, 14], "pfeatur": [12, 35], "vkgetphysicaldevicefeatures2khr": 12, "vkphysicaldeviceaccelerationstructurefeatureskhr": [12, 19], "vkphysicaldevicefeatur": [12, 37], "featur": 12, "vkbool32": [12, 14, 35, 37, 38], "accelerationstructur": [12, 32], "accelerationstructurecapturereplay": [12, 32], "accelerationstructureindirectbuild": [12, 32], "accelerationstructurehostcommand": [12, 32], "descriptorbindingaccelerationstructureupdateafterbind": [12, 32], "vk_descriptor_binding_update_after_bind_bit": 12, "vk_descriptor_type_acceleration_structure_khr": [12, 19, 27], "vk_physical_devic": 12, "vk_physical_device_acceleration_structure_features_khr": 12, "vk_structure_type_physical_device_acceleration_structure_features_khr": [12, 19], "vk_fals": [12, 14], "vk_physical_device_features_2": 12, "vk_structure_type_physical_device_features_2": 12, "vkdevicecreateinfo": [12, 14, 19], "vk_device_create_info": 12, "vk_structure_type_device_create_info": [12, 35, 37], "vk_devic": 12, "vk_null_handl": [12, 14, 17, 19, 35, 36, 38, 39, 43], "vkresult": [12, 14, 17, 31, 35, 36, 37, 38, 39, 41], "vkcreatedevic": [12, 19, 36], "vk_success": [12, 17, 19, 31, 35, 36, 38, 39], "top": [12, 19], "level": [12, 19, 37], "acceler": [12, 19, 21, 28, 29, 31, 33], "structur": [12, 14, 19, 21, 28, 29, 31, 33, 43], "bottom": [12, 19], "aabb": [12, 19, 24, 32], "axi": [12, 24], "bound": [12, 24], "box": [12, 24], "flag": [12, 14, 17, 19, 20, 21, 24, 29, 31, 36, 37, 39, 41], "nan": 12, "ieee": 12, "754": 12, "2008": 12, "quiet": 12, "signal": 12, "instanceid": 12, "primitiveid": 12, "vkbuildaccelerationstructureflagskhr": [12, 19, 20], "mode": [12, 19, 20], "srcaccelerationstructur": [12, 19, 20], "dstaccelerationstructur": [12, 19, 20], "geometrycount": [12, 19, 20], "pgeometri": [12, 19, 20, 32], "ppgeometri": [12, 32], "scratchdata": [12, 19, 20], "vk_structure_type_acceleration_structure_build_geometry_info_khr": [12, 19, 20], "vk_build_acceleration_structure_mode_update_khr": [12, 19, 20], "dst": [12, 19], "scratch": [12, 19], "raygeometryindexkhr": 12, "oprayquerygetintersectiongeometryindexkhr": 12, "vk_acceleration_structure_type_top_level_khr": [12, 19, 32], "geometrytyp": [12, 19, 24, 29], "vk_geometry_type_instances_khr": [12, 19], "vk_acceleration_structure_type_bottom_level_khr": [12, 19, 20, 32], "vkphysicaldeviceaccelerationstructurepropertieskhr": [12, 19], "maxgeometrycount": 12, "vk_geometry_type_aabbs_khr": [12, 24], "maxprimitivecount": [12, 19, 29], "vk_geometry_type_triangles_khr": [12, 19, 29], "vk_build_acceleration_structure_prefer_fast_trace_bit_khr": [12, 19, 20, 24], "vk_build_acceleration_structure_prefer_fast_build_bit_khr": [12, 20], "vk_build_acceleration_structure_allow_update_bit_khr": [12, 20], "vk_build_acceleration_structure_allow_compaction_bit_khr": [12, 19], "vk_build_acceleration_structure_low_memory_bit_khr": 12, "vk_khr_ray_tracing_position_fetch": 12, "vk_build_acceleration_structure_allow_data_access_khr": 12, "0x00000800": 12, "vk_copy_acceleration_structure_mode_compact_khr": [12, 19], "vk_build_acceleration_structure_mode_build_khr": [12, 19], "union": [12, 19], "hostaddress": [12, 19], "vkgeometryflagskhr": 12, "vk_structure_type_acceleration_structure_geometry_khr": [12, 19, 24, 29], "vk_geometry_opaque_bit_khr": [12, 19, 21, 24], "vk_geometry_no_duplicate_any_hit_invocation_bit_khr": [12, 21, 29], "vkformat": [12, 39], "vertexformat": [12, 19, 29], "vertexstrid": [12, 19, 29], "maxvertex": [12, 19, 29], "vkindextyp": 12, "indextyp": [12, 19, 29], "indexdata": [12, 19, 29], "transformdata": [12, 19, 29], "vk_structure_type_acceleration_structure_geometry_triangles_data_khr": [12, 19, 29], "vkvertexinputbindingdescript": 12, "maxvertexinputbindingstrid": [12, 38], "vk_format_feature_acceleration_structure_vertex_buffer_bit_khr": 12, "matrix": 12, "times4": 12, "times3": 12, "vk_structure_type_acceleration_structure_geometry_aabbs_data_khr": [12, 24], "minx": 12, "mini": 12, "minz": 12, "maxx": 12, "maxi": 12, "maxz": 12, "arrayofpoint": 12, "vk_structure_type_acceleration_structure_geometry_instances_data_khr": [12, 19], "vk_true": [12, 14, 35, 37], "instancecustomindex": [12, 19, 20, 24, 29], "mask": [12, 19, 20, 24, 29], "vkgeometryinstanceflagskhr": [12, 19], "accelerationstructurerefer": [12, 19, 20, 24, 29], "instancecustomindexkhr": 12, "cull": [12, 19], "vk_geometry_instance_triangle_facing_cull_disable_bit_khr": [12, 19, 20, 24, 29], "vk_geometry_instance_triangle_flip_facing_bit_khr": 12, "vk_geometry_instance_force_opaque_bit_khr": 12, "vk_geometry_instance_force_no_opaque_bit_khr": 12, "vk_geometry_instance_triangle_front_counterclockwise_bit_khr": 12, "object": [12, 19, 23, 24, 37], "space": [12, 43], "noopaquekhr": 12, "buildtyp": 12, "pbuildinfo": 12, "pmaxprimitivecount": [12, 32], "psizeinfo": 12, "vkimag": [12, 37, 39], "accelerationstructures": [12, 19, 31, 32], "vk_acceleration_structure_build_type_host_khr": 12, "vk_acceleration_structure_build_type_host_or_device_khr": 12, "vk_acceleration_structure_build_type_device_khr": [12, 19, 20], "primitivecount": [12, 19, 20, 24, 29], "updatescratchs": [12, 32], "buildscratchs": [12, 19, 20, 31, 32], "raytracingpipelin": [12, 14, 32, 35], "rayqueri": [12, 27, 32], "maxinstancecount": [12, 19], "vk_structure_type_acceleration_structure_build_sizes_info_khr": [12, 19, 20], "pcreateinfo": [12, 14, 17, 35, 37, 39, 41], "vkallocationcallback": [12, 14, 17, 35, 36, 39, 41], "palloc": [12, 14, 17, 35, 36, 39, 41], "paccelerationstructur": [12, 19, 27], "vkaccelerationstructurecreateflagskhr": 12, "createflag": 12, "vk_structure_type_acceleration_structure_create_info_khr": [12, 19], "vkopaquecapturedescriptordatacreateinfoext": 12, "vk_error_invalid_opaque_capture_address_khr": 12, "vk_memory_allocate_device_address_bit": 12, "vk_acceleration_structure_type_generic_khr": [12, 32], "translat": 12, "layer": [12, 32, 42], "vk_acceleration_structure_create_motion_bit_nv": 12, "vk_nv_ray_tracing_motion_blur": 12, "vk_acceleration_structure_create_device_address_capture_replay_bit_khr": 12, "vk_structure_type_acceleration_structure_device_address_info_khr": 12, "infocount": 12, "ppbuildrangeinfo": 12, "vk_pipeline_stage_acceleration_structure_build_bit_khr": [12, 19, 32], "vk_access_acceleration_structure_read_bit_khr": [12, 19, 32], "vk_access_acceleration_structure_write_bit_khr": [12, 19, 32], "vk_access_shader_read_bit": [12, 32], "primitiveoffset": [12, 19, 24, 29], "firstvertex": [12, 19, 24, 29], "transformoffset": [12, 19, 24, 29], "accelerationstructurecount": [12, 19, 27], "vkquerytyp": 12, "querytyp": [12, 19], "vkquerypool": [12, 19, 37], "querypool": [12, 19], "firstqueri": 12, "vk_pipeline_stage_2_acceleration_structure_copy_bit_khr": 12, "vk_query_type_acceleration_structure_compacted_size_khr": [12, 19], "vk_query_type_acceleration_structure_serialization_size_khr": 12, "vk_query_type_acceleration_structure_size_khr": 12, "vk_query_type_acceleration_structure_serialization_bottom_level_pointers_khr": 12, "src": [12, 19], "vkcopyaccelerationstructuremodekhr": 12, "vk_structure_type_copy_acceleration_structure_info_khr": [12, 19], "vk_copy_acceleration_structure_mode_clone_khr": 12, "vkbindaccelerationstructurememorynv": 12, "vk_copy_acceleration_structure_mode_serialize_khr": 12, "vk_copy_acceleration_structure_mode_deserialize_khr": 12, "vk_access_transfer_write_bit": [12, 19, 32], "vk_uuid_siz": [12, 37, 38, 41], "vkphysicaldeviceidproperti": 12, "driveruuid": 12, "vk_structure_type_copy_acceleration_structure_to_memory_info_khr": 12, "vk_access_transfer_read_bit": [12, 32], "vk_structure_type_copy_memory_to_acceleration_structure_info_khr": 12, "pversioninfo": 12, "pcompat": 12, "pversiondata": 12, "vk_structure_type_acceleration_structure_version_info_khr": 12, "vk": [12, 19, 39, 41], "_uuid": 12, "_size": 12, "vkcopyacceler": 12, "structuretomemori": 12, "uuid": 12, "vk_acceleration_structure_compatibility_compatible_khr": 12, "vk_acceleration_structure_compatibility_incompatible_khr": 12, "command": [12, 14, 19, 43], "cach": 12, "vk_memory_property_host_cached_bit": [12, 36, 37], "vkdeferredoperationkhr": [12, 14, 31], "deferredoper": [12, 14], "by": [12, 14, 36, 37, 39], "size_t": [12, 14, 20, 24, 36, 38], "datas": [12, 14, 19], "pdata": [12, 14, 19, 26], "17": [14, 19, 22, 36, 41], "vk_khr_spirv_1_4": [14, 35], "vk_khr_shader_float_control": 14, "vk_khr_ray_tracing_pipeline_extension_nam": [14, 19], "vk_buffer_usage_shader_binding_table_bit_khr": [14, 19, 32], "vk_dynamic_state_ray_tracing_pipeline_stack_size_khr": [14, 32], "vk_pipeline_bind_point_ray_tracing_khr": [14, 19, 31], "vk_pipeline_stage_ray_tracing_shader_bit_khr": [14, 19, 32], "vk_shader_stage_any_hit_bit_khr": [14, 21, 29], "vk_shader_stage_callable_bit_khr": [14, 22], "vk_shader_stage_closest_hit_bit_khr": [14, 19, 21, 24, 26, 29], "vk_shader_stage_intersection_bit_khr": [14, 24], "vk_shader_stage_miss_bit_khr": [14, 19], "vk_shader_stage_raygen_bit_khr": [14, 19], "raytracingpipelineshadergrouphandlecapturereplay": [14, 32, 35], "raytracingpipelineshadergrouphandlecapturereplaymix": [14, 32, 35], "raytracingpipelinetraceraysindirect": [14, 32, 35], "raytraversalprimitivecul": [14, 32, 35], "vk_structure_type_physical_device_ray_tracing_pipeline_features_khr": [14, 19], "maxrayrecursiondepth": [14, 19], "maxshadergroupstrid": 14, "shadergrouphandlecapturereplays": 14, "maxraydispatchinvocationcount": 14, "maxrayhitattributes": 14, "vk_structure_type_physical_device_ray_tracing_pipeline_properties_khr": [14, 19, 27], "vkgetphysicaldeviceproperties2": [14, 19], "vkphysicaldeviceproperties2": [14, 19], "vkpipelinecach": [14, 36, 37], "pipelinecach": 14, "createinfocount": 14, "vkpipelin": [14, 19, 20, 37], "ppipelin": 14, "pshadergroupcapturereplayhandl": 14, "vk_error_invalid_opaque_capture_address": 14, "vk_pipeline_create_derivative_bit": 14, "basepipelineindex": 14, "vk_pipeline_create_allow_derivatives_bit": 14, "vk_pipeline_create_dispatch_bas": 14, "vk_pipeline_cache_create_externally_synchronized_bit": 14, "host": [14, 15, 29, 31, 33, 36], "vk_pipeline_create_early_return_on_failure_bit": 14, "vkpipelinecreateflag": 14, "stagecount": [14, 19], "vkpipelineshaderstagecreateinfo": [14, 19], "pstage": [14, 19], "groupcount": [14, 19], "maxpipelinerayrecursiondepth": [14, 19, 28], "plibraryinfo": [14, 31], "plibraryinterfac": 14, "vkpipelinedynamicstatecreateinfo": 14, "pdynamicst": 14, "vkpipelinelayout": [14, 19, 20, 37], "basepipelinehandl": 14, "int32_t": [14, 20, 38, 43], "vk_structure_type_ray_tracing_pipeline_create_info_khr": [14, 19], "vkpipelinecreateflagbit": 14, "vk_pipeline_create_library_bit_khr": [14, 31], "ray": [14, 19, 21, 24, 28, 29, 31, 32], "pipelin": [14, 19], "stack": 14, "vkpipelinecreateflags2createinfokhr": 14, "vk_pipeline_create_indirect_bindable_bit_nv": 14, "pipelinecreationcachecontrol": 14, "vk_pipeline_create_fail_on_pipeline_compile_required_bit": 14, "plibrari": [14, 31], "maxpipelineraypayloads": 14, "maxpipelinerayhitattributes": 14, "vk_pipeline_create_ray_tracing_shader_group_handle_capture_replay_bit_khr": 14, "vk_pipeline_create_ray_tracing_skip_aabbs_bit_khr": 14, "vk_pipeline_create_ray_tracing_skip_triangles_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_any_hit_shaders_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_closest_hit_shaders_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_intersection_shaders_bit_khr": 14, "vk_pipeline_create_ray_tracing_no_null_miss_shaders_bit_khr": 14, "vk_khr_pipeline_librari": [14, 15, 32, 33, 35], "vk_ray_tracing_shader_group_type_triangles_hit_group_khr": [14, 19, 21, 26], "vk_ray_tracing_shader_group_type_procedural_hit_group_khr": [14, 19, 24], "anyhitshad": [14, 19, 21], "vk_shader_unused_khr": [14, 19, 21, 22, 26], "closesthitshad": [14, 19, 21, 22, 24, 26], "librarycount": [14, 31], "vkpipelinecreationfeedbackcreateinfo": 14, "pipelinestagecreationfeedbackcount": 14, "vk_pipeline_create_ray_tracing_opacity_micromap_bit_ext": 14, "vk_pipeline_create_ray_tracing_displacement_micromap_bit_nv": 14, "generalshad": [14, 19, 21, 22, 26], "intersectionshad": [14, 19, 24], "vk_structure_type_ray_tracing_shader_group_create_info_khr": [14, 19], "vk_ray_tracing_shader_group_type_general_khr": [14, 19, 22], "generat": [14, 18, 19, 25, 31], "closest": [14, 19, 21, 31], "pipelinelibrarygrouphandl": 14, "vk_nv_ray_trac": [14, 32], "vk_ray_tracing_shader_group_type_general_nv": 14, "vk_ray_tracing_shader_group_type_triangles_hit_group_nv": 14, "vk_ray_tracing_shader_group_type_procedural_hit_group_nv": 14, "git": [14, 19], "vkgraphicspipelinelibraryflagbitsext": 14, "vk_structure_type_pipeline_library_create_info_khr": 14, "vkpipelineshaderstagemoduleidentifiercreateinfoext": 14, "identifiers": 14, "vk_pipeline_create_descriptor_buffer_bit_ext": 14, "vk_pipeline_create_no_protected_access_bit_ext": 14, "vk_pipeline_create_protected_access_only_bit_ext": 14, "vk_structure_type_ray_tracing_pipeline_interface_create_info_khr": 14, "attribut": 14, "raypayloadkhr": 14, "incomingraypayloadkhr": 14, "hitattributekhr": 14, "firstgroup": 14, "vkraytracingpipelinecreateinfonv": 14, "captur": 14, "replay": 14, "groupshad": 14, "vk_shader_group_shader_general_khr": 14, "vk_shader_group_shader_closest_hit_khr": 14, "vk_shader_group_shader_any_hit_khr": 14, "vk_shader_group_shader_intersection_khr": 14, "pipelinestacks": 14, "vkcmdbuildaccelerationstructureskhr": [15, 19, 20, 31, 32], "vkaccelerationstructurebuildgeometryinfokhr": [15, 19, 20, 31, 32], "vkbuildaccelerationstructuremodekhr": 15, "vkdeviceorhostaddresskhr": 15, "vkdeviceorhostaddressconstkhr": [15, 19], "vkaccelerationstructuregeometrykhr": [15, 21, 24, 29], "vkaccelerationstructuregeometrydatakhr": [15, 19], "vkaccelerationstructuregeometrytrianglesdatakhr": [15, 19, 29], "vktransformmatrixkhr": 15, "vkaccelerationstructuregeometryaabbsdatakhr": [15, 24], "vkaabbpositionskhr": 15, "vkaccelerationstructuregeometryinstancesdatakhr": [15, 19], "vkgeometryinstanceflagbitskhr": 15, "vkaccelerationstructurebuildrangeinfokhr": [15, 20, 24, 29], "vkgetaccelerationstructurebuildsizeskhr": [15, 19, 20, 31, 32], "vkaccelerationstructurebuildsizesinfokhr": [15, 19, 20, 32], "vkcreateaccelerationstructurekhr": [15, 19, 31, 32], "vkaccelerationstructurecreateinfokhr": [15, 19, 20, 32], "vkgetaccelerationstructuredeviceaddresskhr": [15, 32], "vkaccelerationstructuredeviceaddressinfokhr": 15, "vkdestroyaccelerationstructurekhr": 15, "vkaccelerationstructuretypekhr": 15, "vkbuildaccelerationstructureflagbitskhr": 15, "vkgeometrytypekhr": 15, "vkgeometryflagbitskhr": 15, "vkgetbufferdeviceaddress": [15, 19, 20], "vkgetbufferdeviceaddresskhr": 15, "vkbufferdeviceaddressinfo": [15, 19, 20], "vkbufferdeviceaddressinfokhr": 15, "shaderbindingt": 15, "vk_khr_ray_queri": [15, 27, 32, 33, 35], "vkphysicaldeviceraytracingpipelinefeatureskhr": [15, 19, 35], "vkcreateraytracingpipelineskhr": [15, 19, 22, 31, 32], "vkraytracingshadergroupcreateinfokhr": [15, 19, 24], "vkraytracingshadergrouptypekhr": 15, "vkpipelinelibrarycreateinfokhr": [15, 31, 32], "vkraytracingpipelineinterfacecreateinfokhr": [15, 32], "vkgetraytracingcapturereplayshadergrouphandleskhr": 15, "vkgetraytracingshadergroupstacksizekhr": [15, 32], "vkshadergroupshaderkhr": 15, "vkcmdsetraytracingpipelinestacksizekhr": [15, 32], "30": [17, 19, 37], "pinstanc": [17, 37, 41], "vkinstancecreateflag": [17, 41], "papplicationinfo": [17, 37, 41], "enabledlayercount": [17, 35, 37, 41], "char": [17, 35, 36, 37, 38, 41], "ppenabledlayernam": [17, 35, 37, 41], "enabledextensioncount": [17, 35, 37, 41], "ppenabledextensionnam": [17, 35, 37, 41], "vk_structure_type_instance_create_info": [17, 37], "vkinstancecreateflagbit": [17, 37], "papplicationnam": [17, 37, 41], "applicationvers": [17, 37, 41], "penginenam": [17, 37, 41], "enginevers": [17, 37, 41], "apivers": [17, 37, 38, 41], "vk_structure_type_application_info": [17, 37], "utf": [17, 37], "patch": [17, 37, 41], "vk_api_version_1_0": [17, 41], "vk_api_version_1_1": [17, 41], "vk_api_version_1_2": [17, 41], "vk_api_version_1_3": [17, 41], "loader": [17, 19, 37, 42], "vkcmdcopyimagetobuff": 17, "vk_version_1_3": 17, "vkcmdcopyimagetobuffer2": 17, "papivers": [17, 37], "vkphysicaldeviceproperti": [17, 41], "vk_layer_khronos_valid": 17, "vk_layer_lunarg_gfxreconstruct": 17, "gfxreconstruct": 17, "vk_layer_lunarg_api_dump": 17, "vk_layer_khronos_profil": 17, "vk_layer_lunarg_monitor": 17, "vk_layer_lunarg_screenshot": 17, "vk_layer_khronos_synchronization2": 17, "vk_khr_synchronization2": 17, "vk_layer_khronos_shader_object": 17, "vk_ext_shader_object": 17, "ppropertycount": [17, 35], "pproperti": [17, 35, 37, 38, 41], "vk_incomplet": [17, 37, 38], "layer_property_count": 17, "layer_properti": 17, "layernam": 17, "vk_max_extension_name_s": [17, 35], "specvers": [17, 35], "implementationvers": 17, "descript": [17, 43], "vk_max_description_s": 17, "256u": 17, "playernam": [17, 35], "extension_property_count": [17, 35], "extension_properti": [17, 35], "extensionnam": [17, 35], "vk_khr_surfac": [17, 35], "vk_": [17, 35], "vender": [17, 35], "platform": [17, 35], "_surfac": [17, 35], "vk_khr_win32_surfac": 17, "vk_ohos_surfac": 17, "openharmoni": 17, "vk_khr_android_surfac": 17, "vk_khr_": [17, 19], "wayland": 17, "xcb": [17, 41], "xlib": [17, 41], "vulkan_vers": [17, 37], "vk_make_api_vers": [17, 37, 41], "application_info": [17, 37], "enable_layer_nam": 17, "_debug": 17, "ndebug": 17, "endif": [17, 21, 22, 23, 37, 41], "enable_extension_nam": 17, "_win16": 17, "_win32": 17, "_win64": [17, 37], "elif": [17, 21, 23], "vk_use_platform_oho": 17, "instance_create_info": [17, 36, 37], "metal": 18, "orphism": 18, "krono": 18, "opencl": 18, "webgl": 18, "1992": 18, "2004": 18, "framebuff": 18, "2015": 18, "gdc": 18, "game": [18, 42], "develop": [18, 32], "confer": 18, "next": [18, 43], "initi": 18, "glnext": 18, "2018": [18, 24, 32, 42], "queue": [18, 37], "glew": 18, "glad": 18, "18": [19, 37, 41], "vulkankhrraytracingtest": 19, "vulkankhrraytracingtestforlight": 19, "phong": 19, "vulkankhrraytracingtestforlightingshadow": 19, "vulkankhrraytracingtestforlightingshadowwithtextur": 19, "nvpro": 19, "vk_raytracing_tutorial_khr": 19, "render": [19, 32, 43], "pass": 19, "helper": [19, 41], "opengl": [19, 35, 41, 42], "build_al": 19, "nvvk": [19, 21, 22, 23, 24, 26, 27, 29], "clone_al": 19, "bat": 19, "sh": [19, 41], "recurs": 19, "shallow": 19, "submodul": 19, "nvpro_cor": [19, 23], "cmake": [19, 21, 24, 25, 26, 41], "gui": 19, "cd": [19, 41, 43], "mkdir": [19, 41], "2021": [19, 32], "161": 19, "182": 19, "vk_ray_tracing__before_khr": 19, "obj": [19, 20, 23, 24, 26, 28, 29], "overview": 19, "vk_ray_tracing__simple_khr": 19, "contextcreateinfo": 19, "vkray": [19, 27], "accelfeatur": 19, "contextinfo": [19, 23, 27], "adddeviceextens": [19, 23, 27], "vk_khr_acceleration_structure_extension_nam": 19, "rtpipelinefeatur": 19, "vk_khr_deferred_host_operations_extension_nam": 19, "featureskhr": 19, "initinst": 19, "vkgetinstanceprocaddr": 19, "vkgetdeviceprocaddr": 19, "load_vk_extens": 19, "hello_vulkan": [19, 22, 28, 29], "hellovulkan": [19, 20, 21, 22, 24, 25, 27, 29], "initraytrac": [19, 22, 27], "m_rtproperti": [19, 22, 26, 27, 28], "prop2": 19, "vk_structure_type_physical_device_properties_2": 19, "m_physicaldevic": 19, "hellovk": [19, 20, 21, 23, 24, 25, 26, 28, 29], "updatedescriptorset": [19, 24, 27, 29], "quadro": 19, "6000": 19, "tlas": [19, 20, 24, 27, 29], "blas": [19, 20, 24], "3d": 19, "objmodel": [19, 20, 27, 29], "objinst": [19, 20, 24, 26, 29], "raytrace_vkpp": [19, 20], "raytracekhr_vk": 19, "hpp": [19, 20, 22, 23], "raytracingbuilderkhr": [19, 20, 24, 27, 29], "m_rtbuilder": [19, 20, 24, 27, 29], "setup": [19, 22, 41], "m_devic": [19, 20, 21, 22, 24, 26, 29], "m_alloc": [19, 20, 22, 23, 24, 29], "m_graphicsqueueindex": [19, 20, 22, 24, 29], "resourceallocator_vk": 19, "accelkhr": 19, "dma": 19, "alloc": [19, 23, 36], "vma": 19, "blasinput": [19, 20, 24, 29], "auto": [19, 20, 22, 24, 25, 27, 29, 36], "objecttovkgeometrykhr": [19, 20, 24, 27, 29], "model": [19, 20, 27, 29, 43], "glvertexattribpoint": 19, "gldrawarray": 19, "anyhit": 19, "vertexobj": [19, 20], "nvmath": [19, 20, 21, 23, 24, 25, 26, 28, 29], "vec3f": [19, 20, 21, 23, 24, 26, 28, 29], "nrm": [19, 20], "vec2f": 19, "texcoord": 19, "vertexaddress": [19, 29], "getbufferdeviceaddress": [19, 24, 29], "vertexbuff": [19, 20, 29], "indexaddress": [19, 29], "indexbuff": 19, "nbindic": 19, "vk_format_r32g32b32_sfloat": [19, 29], "bit": 19, "unsign": [19, 37], "vk_index_type_uint32": [19, 29], "nbvertic": [19, 20], "asgeom": [19, 21, 24, 29], "asgeometri": [19, 20, 24, 29], "emplace_back": [19, 20, 24, 27, 29], "asbuildoffsetinfo": [19, 20, 24, 29], "offsetof": 19, "createbottomlevela": [19, 20, 24, 27], "allbla": [19, 24], "reserv": [19, 20, 24], "m_objmodel": [19, 20, 24, 29], "raytracekhr_vkpp": 19, "buildaccelerationstructur": 19, "m_blas": [19, 20], "compact": 19, "m_cmdpool": 19, "init": 19, "m_queueindex": [19, 20], "nbblas": 19, "static_cast": [19, 20, 24, 29], "astotals": 19, "nbcompact": 19, "maxscratchs": 19, "builda": 19, "idx": 19, "createbla": 19, "see": [19, 43], "buildinfo": [19, 20], "rangeinfo": 19, "maxprimcount": [19, 20], "tt": [19, 20], "number": [19, 23, 25, 43], "primit": [19, 29], "sizeinfo": [19, 20], "hasflag": 19, "scratchbuff": [19, 20], "createbuff": [19, 20, 24, 29], "vk_buffer_usage_storage_buffer_bit": [19, 20, 24, 29, 32, 37, 39], "bufferinfo": [19, 20], "scratchaddress": 19, "50": [19, 28, 37], "assert": [19, 20, 29, 37], "vkquerypoolcreateinfo": 19, "qpci": 19, "vk_structure_type_query_pool_create_info": 19, "querycount": 19, "vkcreatequerypool": 19, "indic": [19, 21], "batchsiz": 19, "batchlimit": 19, "000": [19, 23, 24], "mb": 19, "cmdbuf": [19, 20, 22, 24, 29], "createcommandbuff": [19, 20, 24, 29], "submitandwait": [19, 20, 24, 29], "vkqueuewaitidl": 19, "destroynoncompact": 19, "clear": 19, "vkdestroyquerypool": 19, "finalizeandreleasestag": [19, 29], "destroy": [19, 20, 24], "deinit": 19, "vkresetquerypool": 19, "querycnt": 19, "createacceler": 19, "vk_buffer_usage_acceleration_structure_storage_bit_khr": [19, 32, 37], "imag": [19, 25, 28, 29, 37, 39], "createinfo": [19, 20, 37], "name_idx_vk": 19, "accel": [19, 20], "part": 19, "barrier": 19, "vkmemorybarri": 19, "vk_structure_type_memory_barri": 19, "srcaccessmask": 19, "dstaccessmask": 19, "vkcmdpipelinebarri": 19, "vkcmdwriteaccelerationstructurespropertieskhr": [19, 32], "queryctn": 19, "cleanupa": 19, "compacts": 19, "vkgetquerypoolresult": 19, "vk_query_result_wait_bit": 19, "ascreateinfo": 19, "vkcopyaccelerationstructureinfokhr": 19, "copyinfo": 19, "vkcmdcopyaccelerationstructurekhr": [19, 32], "createtoplevela": [19, 20, 24, 26, 27], "gl_instancecustomindex": 19, "hitgroupid": [19, 24], "eobjdesc": [19, 21, 27], "scalar": [19, 20, 21, 24], "objdesc_": [19, 21], "objdesc": [19, 21, 24, 29], "gl_instancecustomindexext": [19, 20, 21, 26, 29], "issu": [19, 32], "rayinst": [19, 20, 24, 26, 29], "totransformmatrixkhr": [19, 20, 24, 29], "0xff": [19, 20, 21, 24, 27, 28, 29], "raymask": [19, 20, 24], "loadmodel": [19, 20, 21, 23, 24, 26, 28, 29], "string": [19, 29], "filenam": [19, 29], "mat4f": [19, 20, 23, 24, 25, 26, 29], "destroyresourc": [19, 20, 24], "m_tlas": [19, 20], "updat": [19, 20], "countinst": 19, "commandpool": [19, 20, 24, 29, 37], "gencmdbuf": [19, 20, 24], "instancesbuff": 19, "vk_buffer_usage_acceleration_structure_build_input_read_only_bit_khr": [19, 24, 29, 32], "name_vk": [19, 20], "instbufferaddr": 19, "vk_pipeline_stage_transfer_bit": 19, "vkcmdcopybuff": [19, 37], "cmdcreatetla": 19, "motion": 19, "instancesvk": 19, "topasgeometri": 19, "buildoffsetinfo": 19, "pbuildoffsetinfo": 19, "descriptorsetbind": [19, 20], "m_rtdescsetlayoutbind": [19, 29], "vkdescriptorpool": [19, 20, 37], "m_rtdescpool": 19, "vkdescriptorsetlayout": [19, 20, 37], "m_rtdescsetlayout": 19, "vkdescriptorset": [19, 20, 37], "m_rtdescset": [19, 29], "addbind": [19, 20, 21, 24, 27, 29], "rtxbind": 19, "etla": [19, 27], "eoutimag": 19, "vk_descriptor_type_storage_imag": 19, "createpool": [19, 20], "createlayout": [19, 20], "vkdescriptorsetallocateinfo": 19, "allocateinfo": 19, "vk_structure_type_descriptor_set_allocate_info": 19, "descriptorpool": 19, "descriptorsetcount": 19, "psetlayout": [19, 20], "vkallocatedescriptorset": 19, "getaccelerationstructur": [19, 27], "vkwritedescriptorsetaccelerationstructurekhr": [19, 27], "descasinfo": [19, 27], "vk_structure_type_write_descriptor_set_acceleration_structure_khr": [19, 27], "vkdescriptorimageinfo": 19, "imageinfo": 19, "m_offscreencolor": 19, "imageview": 19, "vk_image_layout_gener": [19, 37], "vkwritedescriptorset": [19, 20], "write": [19, 20, 24, 27, 29], "makewrit": [19, 20, 24, 27, 29], "vkupdatedescriptorset": [19, 20], "createdescriptorsetlayout": [19, 21, 27, 29], "m_descsetlayoutbind": [19, 21, 24, 27], "scenebind": 19, "eglob": [19, 27], "vk_descriptor_type_uniform_buff": 19, "vk_shader_stage_vertex_bit": [19, 21, 29], "vk_descriptor_type_storage_buff": [19, 20, 21, 24, 29], "vk_shader_stage_fragment_bit": [19, 21, 27, 29], "etextur": [19, 27], "vk_descriptor_type_combined_image_sampl": 19, "nbtxt": 19, "vkbufferusageflag": [19, 39], "raytracingflag": 19, "m_vertic": 19, "vk_buffer_usage_vertex_buffer_bit": [19, 29, 39], "m_indic": [19, 29], "vk_buffer_usage_index_buffer_bit": [19, 29, 37, 39], "matcolorbuff": 19, "m_materi": [19, 29], "matindexbuff": 19, "m_matindx": 19, "objectid": 19, "updatertdescriptorset": 19, "wds": 19, "onres": [19, 25], "vkdestroydescriptorpool": [19, 20], "vkdestroydescriptorsetlayout": [19, 20], "tabl": 19, "sbt": [19, 21], "shaderrecordext": [19, 26], "vkshadermodul": [19, 37], "vkcreateraytracingpipelinekhr": 19, "imagestor": [19, 25, 28, 29], "local": [19, 31], "hitpayload": [19, 21, 26, 28, 29], "hitvalu": [19, 21, 25, 26, 28], "prd": [19, 21, 25, 26, 28], "isshadow": 19, "stream": 19, "multi": 19, "processor": 19, "barycentr": 19, "v0": [19, 20, 25], "v1": [19, 25], "v2": 19, "hitattributeext": 19, "attrib": 19, "toplevela": [19, 21, 27, 28, 29], "rmiss": [19, 21], "creatertpipelin": [19, 21, 22, 28], "m_rtshadergroup": [19, 21, 22, 24, 26], "m_rtpipelinelayout": 19, "m_rtpipelin": [19, 22, 26], "push": [19, 20, 25, 29], "constant": [19, 20, 22, 25, 29], "host_devic": [19, 24, 25, 29], "geforc": 19, "3070": 19, "tracer": 19, "pushconstantray": [19, 25, 28], "clearcolor": [19, 22, 25, 28, 29], "lightposit": [19, 22, 25, 28, 29], "lightintens": [19, 22, 25, 28], "lighttyp": [19, 22, 25, 28], "m_pcray": [19, 25, 28, 29], "vkcreateshadermodul": 19, "stageindic": [19, 21, 22, 24, 26], "eraygen": [19, 21, 22, 24, 26], "emiss": [19, 21, 22, 24, 26], "eclosesthit": [19, 21, 22, 24, 26], "eshadergroupcount": [19, 21, 22, 24, 26], "stage": [19, 20, 21, 22, 24, 26], "vk_structure_type_pipeline_shader_stage_create_info": 19, "pname": [19, 37], "createshadermodul": [19, 21, 22, 24, 26], "nvh": [19, 20, 21, 22, 23, 24, 26, 28, 29], "loadfil": [19, 20, 21, 22, 24, 26], "spv": [19, 20, 21, 22, 24, 26], "defaultsearchpath": [19, 20, 21, 22, 23, 24, 26, 28, 29], "vkpipelinelayoutcreateinfo": [19, 20], "pipelinelayoutcreateinfo": 19, "vkpushconstantrang": [19, 20], "pushconst": 19, "vk_structure_type_pipeline_layout_create_info": [19, 20], "pushconstantrangecount": [19, 20], "ppushconstantrang": [19, 20], "rtdescsetlayout": 19, "m_descsetlayout": 19, "setlayoutcount": [19, 20], "vkcreatepipelinelayout": [19, 20], "raypipelineinfo": [19, 22, 26, 28], "are": [19, 23, 43], "vkdestroyshadermodul": [19, 20], "vkdestroypipelin": [19, 20], "vkdestroypipelinelayout": [19, 20], "physicaldeviceraytracingpipelinepropertieskhr": 19, "grouphandles": 19, "aligneds": 19, "texttt": 19, "raygen": [19, 29], "m_rtsbtbuffer": 19, "m_rgenregion": [19, 26], "m_missregion": [19, 26], "m_hitregion": [19, 26], "m_callregion": 19, "misscount": 19, "hitcount": 19, "handlecount": 19, "handles": [19, 26], "handlesizealign": 19, "align_up": [19, 26], "sbtsize": 19, "vk_buffer_usage_transfer_src_bit": [19, 37, 39], "vk_memory_property_host_visible_bit": [19, 36, 37], "vk_memory_property_host_coherent_bit": [19, 36, 37], "m_debug": [19, 24], "setobjectnam": [19, 24], "renderdoc": 19, "info": [19, 29, 37, 41, 43], "sbtaddress": 19, "gethandl": [19, 26], "map": 19, "vkmapmemori": 19, "psbtbuffer": [19, 26], "reinterpret_cast": 19, "handleidx": [19, 26], "memcpi": [19, 26, 36, 37], "unmap": 19, "nnvk": 19, "vec4f": [19, 26], "beginlabel": 19, "m_pcraster": [19, 29], "descset": 19, "m_descset": [19, 24, 27], "vkcmdbindpipelin": [19, 20, 31], "vkcmdbinddescriptorset": [19, 20], "vkcmdpushconst": [19, 20, 29], "m_size": [19, 22], "endlabel": 19, "region": [19, 22], "m_stbwrapper": 19, "getregion": [19, 22], "useraytrac": 19, "coloredit3": 19, "checkbox": 19, "raster": 19, "els": [19, 20, 21, 22, 23, 24, 25, 29, 35, 37, 38, 43], "vkcmdbeginrenderpass": 19, "offscreenrenderpassbegininfo": 19, "vk_subpass_contents_inlin": 19, "vkcmdendrenderpass": 19, "updateuniformbuff": 19, "ubousagestag": 19, "vk_pipeline_stage_vertex_shader_bit": 19, "extens": [19, 20, 21, 22, 24, 26, 27, 29, 35, 41, 42], "gl_google_include_direct": [19, 20, 21, 22, 24, 26], "enabl": [19, 20, 21, 22, 24, 26, 27, 29], "_globaluniform": 19, "globaluniform": 19, "uni": 19, "start_bind": 19, "end_bind": 19, "mat4": 19, "viewproj": 19, "viewinvers": 19, "projinvers": 19, "raycommon": [19, 21, 22, 24, 26, 29], "gl_launchidext": [19, 21, 25, 28, 29], "gl_launchsizeext": [19, 21, 25, 29], "pixelcent": [19, 25], "xy": [19, 25, 28, 29], "inuv": 19, "xyz": [19, 25, 28, 29], "ambient": 19, "occlus": 19, "gl_rayflagsopaqueext": [19, 21, 29], "001": [19, 29], "will": [19, 43], "usher": 19, "articl": [19, 43], "rang": [19, 21, 28, 29], "ivec2": [19, 25, 28, 29], "un": 19, "gl_ext_shader_explicit_arithmetic_types_int64": [19, 20, 21, 24], "_pushconstantray": 19, "pcray": [19, 25, 29], "gl_ext_scalar_block_layout": [19, 20, 21, 24], "gl_ext_buffer_reference2": [19, 21, 24], "buffer_refer": [19, 21], "vertic": [19, 20, 21, 39], "materi": [19, 21, 24, 29], "wavefrontmateri": [19, 21], "matindic": [19, 21], "gl_primitiveid": [19, 21, 24], "objresourc": [19, 21], "materialindexaddress": [19, 21, 24], "materialaddress": [19, 21, 24, 29], "ind": 19, "worldpo": [19, 22, 24, 28], "gl_worldrayoriginext": [19, 24], "gl_worldraydirectionext": [19, 24, 28], "gl_hittext": [19, 24], "gl_objecttoworldext": 19, "worldnrm": 19, "gl_worldtoobjectext": 19, "lightdist": [19, 22, 27], "100000": [19, 28], "ldir": [19, 22], "maya": 19, "studiotool": 19, "autodesk": 19, "sampler2d": 19, "texturesampl": 19, "diffus": [19, 24, 28], "specular": [19, 28], "shini": 19, "ior": 19, "dissolv": [19, 21], "illum": [19, 21, 28], "http": [19, 24], "fileformat": 19, "format": [19, 21, 37, 39], "textureid": 19, "dotnl": 19, "matidx": [19, 21, 24], "mat": [19, 21, 23, 24, 28, 29], "computediffus": 19, "txtid": [19, 29], "scndesc": 19, "txtoffset": 19, "nonuniformext": [19, 29], "computespecular": 19, "findfil": [19, 20, 21, 23, 24, 26, 28, 29], "media": [19, 20, 21, 23, 24, 26, 28, 29], "scene": [19, 20, 21, 23, 24, 26, 28, 29], "medieval_build": 19, "plane": [19, 20, 21, 23, 24, 26, 28], "cameramanip": [19, 24, 25, 29], "setlookat": [19, 24, 29], "boolean": 19, "raytraceshadow": [19, 21], "emiss2": [19, 21, 22, 24, 26], "nv": 19, "spec": 19, "onli": [19, 43], "guarante": 19, "check": 19, "that": [19, 37, 43], "sad": 19, "possibl": [19, 37], "here": [19, 43], "fail": 19, "support": [19, 32], "gl_rayflagsskipclosesthitshaderkhr": 19, "gl_rayflagsopaquekhr": 19, "gl_rayflagsterminateonfirsthitkhr": 19, "gl_rayflagsterminateonfirsthitext": [19, 27, 31], "gl_rayflagsskipclosesthitshaderext": [19, 21], "ray_tracing__simpl": 19, "ui": [19, 28], "shaderrecordkhr": 19, "vulkankhrraytracingtestforanimationtla": 20, "vulkankhrraytracingtestforanimationbla": 20, "wuson": [20, 21, 26], "scale_mat4": [20, 21, 23, 28], "wusonid": 20, "ident": 20, "m_instanc": [20, 23, 24, 26, 29], "animationinst": 20, "nbwuson": 20, "deltaangl": 20, "28318530718f": 20, "wusonlength": 20, "radius": [20, 24], "5f": [20, 21, 25, 29, 37], "wusonidx": 20, "rotation_mat4_i": 20, "translation_mat4": [20, 21, 23, 26, 28], "start": [20, 36], "chrono": 20, "system_clock": 20, "now": [20, 43], "appbas": 20, "preparefram": 20, "durat": 20, "diff": 20, "count": 20, "inst": [20, 24, 26], "objindex": [20, 24, 26, 29], "getblasdeviceaddress": [20, 24, 29], "m_rtflag": 20, "sphere": [20, 21, 24], "createcompdescriptor": 20, "updatecompdescriptor": 20, "nvvkbuffer": [20, 24], "createcomppipelin": 20, "m_compdescsetlayoutbind": 20, "m_compdescpool": 20, "m_compdescsetlayout": 20, "m_compdescset": 20, "m_comppipelin": 20, "m_comppipelinelayout": 20, "vk_shader_stage_compute_bit": 20, "allocatedescriptorset": 20, "vkdescriptorbufferinfo": [20, 24, 29], "dbiunif": 20, "vk_whole_s": [20, 24, 29, 36], "vkcomputepipelinecreateinfo": 20, "computepipelinecreateinfo": 20, "vk_structure_type_compute_pipeline_create_info": 20, "createshaderstageinfo": 20, "vkcreatecomputepipelin": 20, "version": [20, 21, 22, 24, 26, 27, 37, 41, 43], "460": [20, 21, 22, 24, 26, 27], "gl_arb_separate_shader_object": 20, "wavefront": [20, 21, 24, 29], "shaderinform": 20, "pushc": [20, 21, 22, 28], "gl_globalinvocationid": 20, "14159265": [20, 29], "signi": 20, "xz": 20, "argument": [20, 43], "xzfactor": 20, "yfactor": 20, "animationobject": 20, "dispatch": 20, "sphereid": 20, "vk_pipeline_bind_point_comput": 20, "vkcmddispatch": [20, 37], "blasidx": 20, "updatebla": 20, "pbuildoffset": 20, "buildbla": [20, 24], "vulkankhrraytracinganyhitshad": 21, "shade": 21, "raytrac": [21, 22, 25, 27, 29, 32], "rahit": 21, "chit": [21, 24], "gl_ext_ray_trac": [21, 22, 24, 26, 27], "random": [21, 23, 25], "clang": 21, "off": 21, "raypayloadinext": [21, 26], "ignoreintersectionext": [21, 32], "rnd": [21, 25, 29], "seed": [21, 25, 29], "rchit": 21, "eanyhit": 21, "tea": [21, 25, 29], "frame": [21, 25, 29], "gl_rayflagsnoneext": [21, 28], "mtl": [21, 28], "newmtl": [21, 28], "raytrace_0": 21, "ahit": 21, "raytrace_1": 21, "raytrace_ahit": 21, "payload_0": 21, "raytrace_rahit": 21, "payload_1": 21, "ifdef": [21, 41], "shadowpayload": 21, "ishit": 21, "gl_nv_ray_trac": 21, "raypayloadnv": 21, "prdshadow": 21, "eanyhit2": 21, "glsl_ext_ray_trac": [22, 31, 32], "callabledataext": 22, "raylight": 22, "clight": 22, "inhitposit": 22, "outlightdist": 22, "outlightdir": 22, "outintens": 22, "callabledatainext": 22, "ecall0": 22, "ecall1": 22, "ecall2": 22, "light_point": 22, "rcall": 22, "light_spot": 22, "light_inf": 22, "core": [22, 37], "lightdirect": 22, "lightspotcutoff": 22, "lightspotoutercutoff": 22, "epsilon": 22, "spotintens": 22, "clamp": 22, "10000000": 22, "sbtwrapper": [22, 26], "sbtwrapper_vk": 22, "m_sbtwrapper": [22, 26], "light": [22, 25, 27, 29, 43], "vulkankhrraytracingtestforinst": 23, "4096": 23, "1000": [23, 37], "cube": [23, 28, 41], "cube_multi": [23, 28], "random_devic": [23, 24], "rd": [23, 24], "mt19937": [23, 24], "gen": [23, 24], "mersenne_twister_engin": 23, "normal_distribut": [23, 24], "dis": 23, "disn": 23, "05f": [23, 24], "2000": 23, "scale": 23, "fabsf": 23, "rotation_mat4_x": 23, "1363": 23, "error": [23, 29, 43], "vuid_undefin": 23, "current": 23, "valid": [23, 32], "less": 23, "than": 23, "maximum": [23, 24], "allow": 23, "best": [23, 32], "run": 23, "crash": 23, "substanti": 23, "alloc_dma": 23, "alloc_ded": 23, "alloc_vma": 23, "memallocator_dma_vk": 23, "resourceallocatordma": 23, "memallocator_vma_vk": 23, "resourceallocatorvma": 23, "resourceallocatorded": 23, "resourceallocatordedicatednvvk": 23, "dear": 23, "nsight": [23, 29, 32], "graphic": [23, 29, 32], "amd": [23, 32, 37], "third_parti": 23, "vk_khr_bind_memory_2_extension_nam": 23, "vma_implement": 23, "vmamemoryalloc": 23, "allocmemori": 23, "vulkankhrraytracingtestforintersectionshad": 24, "center": 24, "minimum": 24, "kind_spher": 24, "kind_cub": 24, "m_sphere": 24, "m_spheresbuff": 24, "m_spheresaabbbuff": 24, "m_spheresmatcolorbuff": 24, "m_spheresmatindexbuff": 24, "createspher": 24, "spheretovkgeometrykhr": 24, "nbsphere": 24, "xzd": 24, "yd": 24, "uniform_real_distribut": 24, "radd": 24, "2f": 24, "resiz": [24, 26], "move": 24, "materialobj": 24, "vkbu": 24, "vkbufferusageflagbit": [24, 37], "spheresaabb": 24, "spheresmat": 24, "spheresmatidx": 24, "m_objdesc": [24, 29], "dataaddress": 24, "2000000": 24, "instancecustomid": 24, "blasid": 24, "nbobj": 24, "last": 24, "implicit": 24, "eimplicit": 24, "dbispher": 24, "eclosesthit2": [24, 26], "eintersect": 24, "gl_ext_nonuniform_qualifi": 24, "allspheres_": 24, "allspher": 24, "viclw17": 24, "io": 24, "07": 24, "hitspher": 24, "oc": 24, "discrimin": 24, "sqrt": [24, 29], "hitaabb": 24, "invdir": 24, "tbot": 24, "ttop": 24, "t0": 24, "t1": 24, "thit": 24, "hitkind": 24, "reportintersectionext": 24, "gl_hitkindext": 24, "absn": 24, "maxc": 24, "sign": 24, "vulkankhrraytracingjittercamera": 25, "rgen": 25, "zafar": 25, "olano": 25, "curti": 25, "via": [25, 41], "tini": 25, "encrypt": 25, "algorithm": [25, 36], "val0": 25, "val1": 25, "s0": 25, "0x9e3779b9": 25, "0xa341316c": 25, "0xc8013ea4": 25, "0xad90777d": 25, "0x7e95761": 25, "prev": 25, "numer": 25, "recip": 25, "linear": 25, "congruenti": 25, "zhihu": 25, "question": 25, "34515945": 25, "answer": 25, "59082990": 25, "lcg": 25, "inout": [25, 29], "lcg_a": 25, "1664525u": 25, "lcg_c": 25, "1013904223u": 25, "0x00ffffff": 25, "0x01000000": 25, "r1": [25, 29], "r2": [25, 29], "subpixel_jitt": 25, "old_color": [25, 29], "imageload": [25, 29], "resetfram": [25, 29], "updatefram": [25, 29], "refcammatrix": [25, 29], "reffov": [25, 29], "getfov": [25, 29], "getmatrix": [25, 29], "memcmp": [25, 29], "a00": [25, 29], "renderui": [25, 28], "chang": [25, 37], "imguih": 25, "camerawidget": 25, "collapsinghead": 25, "pc": [25, 36], "m_pushconst": 25, "radiobutton": 25, "samelin": 25, "infinit": 25, "sliderfloat3": 25, "sliderfloat": 25, "intens": 25, "150": 25, "m_maxfram": 25, "100": [25, 28, 29], "sliderint": [25, 28], "nbsampl": 25, "smpl": 25, "_maxfram": 25, "vulkankhrraytracingtestformulticlosesthit": 26, "hitgroup": 26, "hitgroup1": 26, "hitgroup0": 26, "hitrecordbuff": 26, "m_hitshaderrecord": 26, "sr_": 26, "shaderrec": 26, "sbtwraper": 26, "addindic": 26, "adddata": 26, "ehit": 26, "glsl_ext_ray_queri": [27, 31, 32], "vkphysicaldevicerayqueryfeatureskhr": 27, "rayqueryfeatur": 27, "vk_structure_type_physical_device_ray_query_features_khr": 27, "vk_khr_ray_query_extension_nam": 27, "gl_ext_ray_queri": 27, "i_worldpo": 27, "01f": 27, "rayqueryext": [27, 31], "rayqueryinitializeext": [27, 31], "rayqueryproceedext": [27, 31], "rayquerygetintersectiontypeext": [27, 31], "gl_rayquerycommittedintersectionnoneext": [27, 31], "o_color": 27, "vulkankhrraytracingtestforreflect": 28, "vulkankhrraytracingtestforreflections_withoutlimit": 28, "1f": 28, "95": 28, "cube_instance_materi": 28, "ns": 28, "ni": 28, "ka": 28, "kd": 28, "ks": 28, "vkphysicaldeviceraytracingpropertieskhr": 28, "10u": 28, "maxrecursiondepth": 28, "done": 28, "maxdepth": 28, "vk_raytrac": 29, "vk_shaded_gltfscen": 29, "scenedesc": 29, "gltfshademateri": 29, "indexoffset": 29, "vertexoffset": 29, "materialindex": 29, "normaladdress": 29, "uvaddress": 29, "priminfoaddress": 29, "pbr": 29, "pbrbasecolorfactor": 29, "emissivefactor": 29, "pbrbasecolortextur": 29, "gltfscene": 29, "m_vertexbuff": 29, "m_normalbuff": 29, "m_uvbuff": 29, "m_indexbuff": 29, "m_materialbuff": 29, "m_priminfo": 29, "m_scenedesc": 29, "tinygltf": 29, "loadscen": 29, "tmodel": 29, "tcontext": 29, "warn": [29, 43], "loadasciifromfil": 29, "load": 29, "importmateri": 29, "importdrawablenod": 29, "gltfattribut": 29, "texcoord_0": 29, "cmdbufget": 29, "m_posit": 29, "m_normal": 29, "m_texcoords0": 29, "shademateri": 29, "basecolorfactor": 29, "basecolortextur": 29, "primmesh": 29, "m_primmesh": 29, "firstindex": 29, "m_rtprimlookup": 29, "createtextureimag": 29, "primitivetovkgeometri": 29, "gltfprimmesh": 29, "prim": 29, "primitivetogeometri": 29, "indexcount": 29, "vertexcount": 29, "node": 29, "worldmatrix": 29, "vkcmdbindvertexbuff": 29, "vkcmdbindindexbuff": 29, "idxnod": 29, "modelmatrix": 29, "materialid": 29, "m_pipelinelayout": 29, "pushconstantrast": 29, "vkcmddrawindex": 29, "creatertdescriptorset": 29, "eprimlookup": 29, "primitiveinfodesc": 29, "creategraphicspipelin": 29, "vert_shad": 29, "frag_shad": 29, "closesthit": 29, "cornellbox": 29, "rtpushconst": 29, "arb_shader_clock": 29, "gl_arb_shader_clock": 29, "clockarb": 29, "toward": 29, "en": [29, 32], "wikipedia": 29, "org": 29, "wiki": 29, "path_trac": 29, "gltfmateri": 29, "matindex": 29, "emitt": 29, "tangent": 29, "bitang": 29, "world_norm": 29, "world_posit": 29, "raydirect": 29, "cos_theta": 29, "m_pi": 29, "brdf": 29, "lambertian": 29, "albedo": 29, "texturesmap": 29, "texcoord0": 29, "100000000": 29, "incom": 29, "nt": 29, "nb": 29, "sq": 29, "01": [29, 37], "weight": 29, "curweight": 29, "spv_khr_ray_trac": [31, 32], "spv_khr_ray_queri": [31, 32], "glsl_ext_ray_flags_primitive_cul": [31, 32], "vkaccelerationstructurebuildsizeskhr": 31, "vkcmddraw": [31, 37], "vkcmddrawindirect": 31, "rq": 31, "accstruct": 31, "travers": 31, "store": 31, "inform": 31, "about": 31, "first": [31, 43], "vkbuildaccelerationstructureskhr": [31, 32], "vkcopyaccelerationstructurekhr": 31, "vkcopymemorytoaccelerationstructurekhr": 31, "vkcopyaccelerationstructuretomemorykhr": 31, "vkcreatedeferredoperationkhr": 31, "vk_operation_deferred_khr": 31, "vk_operation_not_deferred_khr": 31, "vkdeferredoperationjoinkhr": 31, "vk_thread_done_khr": 31, "join": 31, "vk_thread_idle_khr": 31, "vkgetdeferredoperationresultkhr": 31, "directx": 32, "dxr": 32, "2020": 32, "vk_khr_ray_trac": 32, "162": 32, "vulkan_beta": [32, 41], "vulkan_cor": [32, 37, 41], "vk_enable_beta_extens": [32, 41], "descriptorindex": 32, "vkd3d": 32, "proton": 32, "vkaccelerationstructurenv": 32, "moltenvk": 32, "nulldescriptor": 32, "vk_ext_robustness2": 32, "vk_descriptor_set_layout_create_update_after_bind_pool_bit": 32, "opconvertutoaccelerationstructurekhr": 32, "optypeaccelerationstructurekhr": 32, "optraceraykhr": 32, "opexecutecallablekhr": 32, "spv_nv_ray_trac": 32, "opignoreintersectionkhr": 32, "opterminateraykhr": 32, "raytracingkhr": 32, "shaderrecordbufferkhr": 32, "storagebuff": 32, "opreportintersectionkhr": 32, "vk_khr_vulkan_memory_model": 32, "volatil": 32, "oprayqueryinitializekhr": 32, "rayquerykhr": 32, "hitt": 32, "oprayquerygenerateintersectionkhr": 32, "shape": 32, "self": 32, "contain": [32, 43], "vk_buffer_usage_indirect_buffer_bit": [32, 39], "vk_access_indirect_command_read_bit": 32, "vkcmdcopyaccelerationstructuretomemorykhr": 32, "vkcmdcopymemorytoaccelerationstructurekhr": 32, "vk_pipeline_stage_draw_indirect_bit": 32, "driver": [32, 37], "kb": 32, "rn": 32, "rad": 32, "win": 32, "vrt": 32, "beta": 32, "intel": [32, 37], "xe": 32, "hpg": 32, "practic": 32, "hybrid": 32, "wolfenstein": 32, "youngblood": 32, "tutori": 32, "slack": 32, "tracker": 32, "defer": 33, "oper": 33, "descriptor": 33, "pdevic": [35, 37], "vkdevicecreateflag": [35, 37], "queuecreateinfocount": [35, 37], "pqueuecreateinfo": [35, 37], "penabledfeatur": [35, 37], "vkdevicequeuecreateflag": [35, 37], "queuefamilyindex": [35, 37], "pqueueprior": [35, 37], "vk_structure_type_device_queue_create_info": [35, 37], "vkdevicequeuecreateflagbit": 35, "vkenumerateinstanceextensionproperti": [35, 37], "vk_khr_swapchain": 35, "vk_khr_display": 35, "vk_khr_display_swapchain": 35, "vk_ext_mesh_shad": 35, "vk_khr_dynamic_rend": 35, "vk_khr_external_memori": 35, "robustbufferaccess": 35, "fulldrawindexuint32": 35, "imagecubearray": 35, "independentblend": 35, "geometryshad": 35, "tessellationshad": 35, "samplerateshad": 35, "dualsrcblend": 35, "logicop": 35, "multidrawindirect": 35, "drawindirectfirstinst": 35, "depthclamp": 35, "depthbiasclamp": 35, "fillmodenonsolid": 35, "depthbound": 35, "widelin": 35, "largepoint": 35, "alphatoon": 35, "multiviewport": 35, "sampleranisotropi": 35, "texturecompressionetc2": 35, "texturecompressionastc_ldr": 35, "texturecompressionbc": 35, "occlusionqueryprecis": 35, "pipelinestatisticsqueri": 35, "vertexpipelinestoresandatom": 35, "fragmentstoresandatom": 35, "shadertessellationandgeometrypoints": 35, "shaderimagegatherextend": 35, "shaderstorageimageextendedformat": 35, "shaderstorageimagemultisampl": 35, "shaderstorageimagereadwithoutformat": 35, "shaderstorageimagewritewithoutformat": 35, "shaderuniformbufferarraydynamicindex": 35, "shadersampledimagearraydynamicindex": 35, "shaderstoragebufferarraydynamicindex": 35, "shaderstorageimagearraydynamicindex": 35, "shaderclipdist": 35, "shaderculldist": 35, "shaderfloat64": 35, "shaderint64": 35, "shaderint16": 35, "shaderresourceresid": 35, "shaderresourceminlod": 35, "sparsebind": 35, "sparseresidencybuff": 35, "sparseresidencyimage2d": 35, "sparseresidencyimage3d": 35, "sparseresidency2sampl": 35, "sparseresidency4sampl": 35, "sparseresidency8sampl": 35, "sparseresidency16sampl": 35, "sparseresidencyalias": 35, "variablemultisampler": 35, "inheritedqueri": 35, "support_graphics_queue_family_index": 35, "queue_prior": 35, "device_queue_create_info": [35, 37], "enable_device_extens": 35, "extension_property_item": 35, "strcmp": 35, "empti": 35, "support_physical_device_featur": 35, "enable_physical_device_featur": 35, "device_create_info": [35, 37], "vkgetdevicequeu": 35, "queueindex": [35, 37], "vkqueue": [35, 37], "pqueue": [35, 37], "graphics_queue_0": 35, "graphics_queue_1": 35, "vkcreat": 36, "vkdestroy": 36, "vkcreateinst": [36, 38, 41], "vkdestroyinst": 36, "vkdestroydevic": 36, "malloc": [36, 37], "puserdata": 36, "pfnalloc": 36, "pfnrealloc": 36, "pfnfree": 36, "pfninternalalloc": 36, "pfninternalfre": 36, "vkapi_ptr": [36, 37], "allocationscop": 36, "demo": [36, 41], "short": 36, "cstdlib": 36, "aligned_alloc": 36, "pfn_alloc": 36, "_aligned_malloc": 36, "memalign": 36, "stdlib": 36, "alignedmalloc": 36, "meta_point_s": 36, "aligned_s": 36, "meta_s": 36, "uintptr_t": 36, "aligned_meta": 36, "alignment_s": 36, "porigin": 36, "realloc": 36, "new_memori": 36, "pfn_realloc": 36, "_aligned_realloc": 36, "malloc_usable_s": 36, "alignedrealloc": 36, "get_aligned_memory_s": 36, "new_meta": 36, "alignedfre": 36, "pmemori": [36, 37], "pfn_free": 36, "_aligned_fre": 36, "get_aligned_meta": 36, "allocationtyp": 36, "vk_system_allocation_scope_command": 36, "vk_system_allocation_scope_object": 36, "vk_system_allocation_scope_cach": 36, "vk_system_allocation_scope_devic": 36, "vk_system_allocation_scope_inst": 36, "vkvalidationcacheext": 36, "vk_internal_allocation_type_execut": 36, "memory_in_us": 36, "_aligned_ms": 36, "internalallocationnotif": 36, "internalfreenotif": 36, "getvkallocationcallback": 36, "vk_allocation_callback": 36, "vkinstancecreateinfo": [36, 41], "allocation_callback": 36, "getalignedmemorys": 36, "pmemoryproperti": [36, 37], "memorytypecount": [36, 37], "memorytyp": [36, 37], "memoryheapcount": [36, 37], "memoryheap": [36, 37], "32u": [36, 37], "16u": [36, 37], "vkmemoryheapflag": [36, 37], "vk_memory_heap_device_local_bit": [36, 37], "vkmemorypropertyflag": [36, 37], "propertyflag": [36, 37], "heapindex": [36, 37], "vk_memory_property_device_local_bit": [36, 37], "vk_memory_property_lazily_allocated_bit": [36, 37], "pallocateinfo": [36, 37], "allocations": [36, 37], "memorytypeindex": [36, 37], "vk_structure_type_memory_allocate_info": [36, 37], "memory_allocate_info": [36, 37], "device_memori": [36, 37], "vkphysicaldevicelimit": [36, 37, 41], "minmemorymapalign": [36, 38], "vk_error_memory_map_fail": 36, "device_memory_ptr": 36, "memoryrangecount": 36, "pmemoryrang": 36, "vk_structure_type_mapped_memory_rang": 36, "mapped_memory_rang": 36, "meta_d": 36, "srcbuffer": 37, "dstbuffer": 37, "vk_define_handl": 37, "_t": 37, "vkinstance_t": 37, "privatedata": 37, "vk_define_non_dispatchable_handl": [37, 39], "ifndef": 37, "vk_use_64_bit_ptr_defin": 37, "__lp64__": 37, "__x86_64__": 37, "__ilp32__": 37, "_m_x64": 37, "__ia64": 37, "_m_ia64": 37, "__aarch64__": 37, "__powerpc64__": 37, "vkbuffer_t": 37, "vkevent": 37, "vkbufferview": 37, "vkimageview": 37, "vkrenderpass": 37, "vksampler": 37, "vkframebuff": 37, "vkcommandpool": 37, "__cplusplus": 37, "201103l": 37, "_msvc_lang": 37, "0ull": 37, "python": 37, "dll": [37, 41], "libvulkan": [37, 41], "link": [37, 43], "previous": 37, "it": [37, 43], "was": 37, "remov": [37, 43], "no": [37, 43], "longer": 37, "decis": 37, "becaus": 37, "which": [37, 43], "made": 37, "older": 37, "unabl": 37, "find": 37, "newer": 37, "hmodul": 37, "librari": 37, "loadlibrarya": 37, "dlfcn": 37, "dlopen": 37, "rtld_now": 37, "rtld_local": 37, "vkenumerateinstancelayerproperti": 37, "pfn_vkcreateinst": 37, "pfn_vkgetinstanceprocaddr": 37, "getprocaddress": 37, "dlsym": 37, "vk_structure_type_max_enum": 37, "vk_khr_portability_enumer": 37, "vk_instance_create_enumerate_portability_bit_khr": 37, "flagbit": 37, "like_cat_bit": 37, "0x1": 37, "like_dog_bit": 37, "0x2": 37, "like": [37, 43], "like_cat_bi": 37, "vkcolorcomponentflag": 37, "vkcolorcomponentflagbit": 37, "vk_color_component_r_bit": 37, "vk_color_component_g_bit": 37, "vk_color_component_b_bit": 37, "vk_color_component_a_bit": 37, "0001": 37, "0010": 37, "0x4": 37, "0100": 37, "0x8": 37, "color_component_flag": 37, "is_open_r": 37, "is_open_g": 37, "is_open_b": 37, "is_open_a": 37, "vk_error_incompatible_driv": 37, "pfn_vkenumerateinstancevers": 37, "pphysicaldevicecount": [37, 38], "pphysicaldevic": [37, 38], "vkcreatephysicaldevic": 37, "pfn_vkenumeratephysicaldevic": 37, "physical_device_count": [37, 38], "driververs": [37, 38, 41], "vendorid": [37, 38, 41], "deviceid": [37, 38, 41], "devicetyp": [37, 38, 41], "devicenam": [37, 38, 41], "vk_max_physical_device_name_s": [37, 38, 41], "pipelinecacheuuid": [37, 38, 41], "limit": [37, 38, 41], "vkphysicaldevicesparseproperti": [37, 41], "sparseproperti": [37, 38, 41], "univers": [37, 38], "uniqu": [37, 38], "identifi": [37, 38], "vk_physical_device_type_oth": [37, 38], "vk_physical_device_type_integrated_gpu": [37, 38], "vk_physical_device_type_discrete_gpu": [37, 38], "vk_physical_device_type_virtual_gpu": [37, 38], "pfn_vkgetphysicaldeviceproperti": 37, "physical_device_properti": [37, 38], "cout": 37, "endl": 37, "pfn_vkgetphysicaldevicequeuefamilyproperti": 37, "pfn_vkcreatedevic": 37, "queue_prioriti": 37, "pfn_vkgetdeviceprocaddr": 37, "pfn_vk": 37, "pfn_vkgetdevicequeu": 37, "vk_max_memory_heap": 37, "vk_memory_property_protected_bit": 37, "0x00000020": [37, 39], "vkflushmappedmemoryrang": 37, "vkinvalidatemappedmemoryrang": 37, "vk_memory_heap_multi_instance_bit": 37, "pfn_vkgetphysicaldevicememoryproperti": 37, "physical_device_memory_properti": 37, "memory_type_index": 37, "memory_typ": 37, "supprt": 37, "device_loc": 37, "host_vis": 37, "host_coher": 37, "heap_index": 37, "memory_heap": 37, "heap": 37, "1024": 37, "vkallocatememori": 37, "pfn_vkallocatememori": 37, "1kb": 37, "pfn_vkfreememori": 37, "pbuffer": [37, 39], "vkbuffercreateflag": 37, "usag": [37, 39], "sharingmod": [37, 39], "queuefamilyindexcount": [37, 39], "pqueuefamilyindic": [37, 39], "vk_structure_type_buffer_create_info": [37, 39], "vk_sharing_mode_concurr": [37, 39], "vk_buffer_usage_uniform_buffer_bit": [37, 39], "0x00000040": [37, 39], "0x00000080": [37, 39], "vk_sharing_mode_exclus": [37, 39], "pfn_vkcreatebuff": 37, "positionandcolor": 37, "position_and_color": 37, "buffer_create_info": [37, 39], "pimag": [37, 39], "vkimagecreateflag": [37, 39], "imagetyp": [37, 39], "extent": [37, 39], "miplevel": [37, 39], "arraylay": [37, 39], "tile": [37, 39], "initiallayout": [37, 39], "vk_structure_type_image_create_info": [37, 39], "vk_image_type_1d": [37, 39], "vk_image_type_2d": [37, 39], "vk_image_type_3d": [37, 39], "vk_format_b8g8r8a8_unorm": 37, "44": 37, "vk_format_b8g8r8a8_srgb": 37, "bgra": 37, "unorm": 37, "srgb": 37, "standard": 37, "red": 37, "green": 37, "blue": 37, "rgba": 37, "vk_sample_count_1_bit": 37, "vk_sample_count_2_bit": 37, "vk_sample_count_4_bit": 37, "vk_sample_count_8_bit": 37, "vk_sample_count_16_bit": 37, "vk_sample_count_32_bit": 37, "vk_sample_count_64_bit": 37, "vk_image_tiling_optim": 37, "vk_image_tiling_linear": 37, "vkimageusageflagbit": 37, "vk_image_usage_sampled_bit": 37, "vk_image_usage_storage_bit": 37, "vk_image_usage_color_attachment_bit": 37, "vk_image_usage_depth_stencil_attachment_bit": 37, "vk_image_usage_transient_attachment_bit": 37, "vk_image_usage_input_attachment_bit": 37, "vk_image_layout_undefin": 37, "vk_image_layout_color_attachment_optim": 37, "vk_image_layout_preiniti": 37, "cubemap": 37, "1920": 37, "1080": 37, "pfn_vkcreateimag": 37, "image_create_info": 37, "512": 37, "pview": 37, "vkimageviewcreateflag": 37, "viewtyp": 37, "compon": 37, "subresourcerang": 37, "vk_structure_type_image_view_create_info": 37, "vk_image_view_type_1d": 37, "vk_image_view_type_2d": 37, "vk_image_view_type_3d": 37, "vk_image_view_type_cub": 37, "vk_image_view_type_1d_array": 37, "vk_image_view_type_2d_array": 37, "vk_image_view_type_cube_array": 37, "vk_image_view_type_": 37, "_array": 37, "vk_component_swizzle_ident": 37, "vk_component_swizzle_zero": 37, "vk_component_swizzle_on": 37, "vk_component_swizzle_r": 37, "vk_component_swizzle_g": 37, "vk_component_swizzle_b": 37, "vk_component_swizzle_a": 37, "aspectmask": 37, "basemiplevel": 37, "levelcount": 37, "basearraylay": 37, "layercount": 37, "vkimageaspectflagbit": 37, "vk_image_aspect_color_bit": 37, "vk_image_aspect_depth_bit": 37, "vk_image_aspect_stencil_bit": 37, "vk_image_aspect_metadata_bit": 37, "color_imag": 37, "color_image_subresource_rang": 37, "component_map": 37, "color_image_view_create_info": 37, "color_image_view": 37, "pmemoryrequir": 37, "113": 37, "0000": 37, "1011": 37, "memory_requir": 37, "0x01": 37, "allocate_memory_result": 37, "memoryoffset": 37, "vkmemorymapflag": 37, "ppdata": 37, "memory_s": 37, "byte": 37, "memory_ptr": 37, "regioncount": 37, "vkbuffercopi": 37, "pregion": 37, "srcoffset": 37, "dstoffset": 37, "host_visible_device_memori": 37, "device_local_device_memori": 37, "copy_buffer_command_buff": 37, "buffer_copi": 37, "vkcmdfillbuff": 37, "vkcmdcopybuffertoimag": 37, "vkcmdblitimag": 37, "vkcmdresolveimag": 37, "vkcmd": 37, "pci": 37, "vkcreatecommandbuff": 37, "pcommandpool": 37, "vkcommandpoolcreateflag": 37, "vk_structure_type_command_pool_create_info": 37, "vk_command_pool_create_transient_bit": 37, "vk_command_pool_create_reset_command_buffer_bit": 37, "command_pool_create_info": 37, "command_pool": 37, "vkallocatecommandbuff": 37, "pcommandbuff": 37, "commandbuffercount": 37, "vk_structure_type_command_buffer_allocate_info": 37, "vk_command_buffer_level_primari": 37, "vk_command_buffer_level_secondari": 37, "command_buffer_allocate_info": 37, "command_buff": 37, "pbegininfo": 37, "vkcommandbufferinheritanceinfo": 37, "vk_structure_type_command_buffer_begin_info": 37, "vkcommandbufferusageflagbit": 37, "vk_command_buffer_usage_render_pass_continue_bit": 37, "command_buffer_begin_info": 37, "submitcount": 37, "psubmit": 37, "fenc": 37, "waitsemaphorecount": 37, "pwaitsemaphor": 37, "vkpipelinestageflag": 37, "pwaitdststagemask": 37, "signalsemaphorecount": 37, "psignalsemaphor": 37, "vk_structure_type_submit_info": 37, "submit_info": 37, "pfenc": 37, "vk_structure_type_fence_create_info": 37, "vkfencecreateflagbit": 37, "vk_fence_create_signaled_bit": 37, "fence_create_info": 37, "fencecount": 37, "waital": 37, "timeout": 37, "vk_timeout": 37, "vk_error_unknown": 37, "do": 37, "3000000": 37, "vkapplicationinfo": [38, 41], "vk_physical_device_type_cpu": 38, "maximagedimension1d": 38, "maximagedimension2d": 38, "maximagedimension3d": 38, "maximagedimensioncub": 38, "maximagearraylay": 38, "maxtexelbufferel": 38, "maxuniformbufferrang": 38, "maxstoragebufferrang": 38, "maxpushconstantss": 38, "maxmemoryallocationcount": 38, "maxsamplerallocationcount": 38, "bufferimagegranular": 38, "sparseaddressspaces": 38, "maxbounddescriptorset": 38, "maxperstagedescriptorsampl": 38, "maxperstagedescriptoruniformbuff": 38, "maxperstagedescriptorstoragebuff": 38, "maxperstagedescriptorsampledimag": 38, "maxperstagedescriptorstorageimag": 38, "maxperstagedescriptorinputattach": 38, "maxperstageresourc": 38, "maxdescriptorsetsampl": 38, "maxdescriptorsetuniformbuff": 38, "maxdescriptorsetuniformbuffersdynam": 38, "maxdescriptorsetstoragebuff": 38, "maxdescriptorsetstoragebuffersdynam": 38, "maxdescriptorsetsampledimag": 38, "maxdescriptorsetstorageimag": 38, "maxdescriptorsetinputattach": 38, "maxvertexinputattribut": 38, "maxvertexinputbind": 38, "maxvertexinputattributeoffset": 38, "maxvertexoutputcompon": 38, "maxtessellationgenerationlevel": 38, "maxtessellationpatchs": 38, "maxtessellationcontrolpervertexinputcompon": 38, "maxtessellationcontrolpervertexoutputcompon": 38, "maxtessellationcontrolperpatchoutputcompon": 38, "maxtessellationcontroltotaloutputcompon": 38, "maxtessellationevaluationinputcompon": 38, "maxtessellationevaluationoutputcompon": 38, "maxgeometryshaderinvoc": 38, "maxgeometryinputcompon": 38, "maxgeometryoutputcompon": 38, "maxgeometryoutputvertic": 38, "maxgeometrytotaloutputcompon": 38, "maxfragmentinputcompon": 38, "maxfragmentoutputattach": 38, "maxfragmentdualsrcattach": 38, "maxfragmentcombinedoutputresourc": 38, "maxcomputesharedmemorys": 38, "maxcomputeworkgroupcount": 38, "maxcomputeworkgroupinvoc": 38, "maxcomputeworkgroups": 38, "subpixelprecisionbit": 38, "subtexelprecisionbit": 38, "mipmapprecisionbit": 38, "maxdrawindexedindexvalu": 38, "maxdrawindirectcount": 38, "maxsamplerlodbia": 38, "maxsampleranisotropi": 38, "maxviewport": 38, "maxviewportdimens": 38, "viewportboundsrang": 38, "viewportsubpixelbit": 38, "mintexelbufferoffsetalign": 38, "minuniformbufferoffsetalign": 38, "minstoragebufferoffsetalign": 38, "mintexeloffset": 38, "maxtexeloffset": 38, "mintexelgatheroffset": 38, "maxtexelgatheroffset": 38, "mininterpolationoffset": 38, "maxinterpolationoffset": 38, "subpixelinterpolationoffsetbit": 38, "maxframebufferwidth": 38, "maxframebufferheight": 38, "maxframebufferlay": 38, "vksamplecountflag": 38, "framebuffercolorsamplecount": 38, "framebufferdepthsamplecount": 38, "framebufferstencilsamplecount": 38, "framebuffernoattachmentssamplecount": 38, "maxcolorattach": 38, "sampledimagecolorsamplecount": 38, "sampledimageintegersamplecount": 38, "sampledimagedepthsamplecount": 38, "sampledimagestencilsamplecount": 38, "storageimagesamplecount": 38, "maxsamplemaskword": 38, "timestampcomputeandgraph": 38, "timestampperiod": 38, "maxclipdist": 38, "maxculldist": 38, "maxcombinedclipandculldist": 38, "discretequeueprior": 38, "pointsizerang": 38, "linewidthrang": 38, "pointsizegranular": 38, "linewidthgranular": 38, "strictlin": 38, "standardsampleloc": 38, "optimalbuffercopyoffsetalign": 38, "optimalbuffercopyrowpitchalign": 38, "noncoherentatoms": 38, "target_physical_devic": 38, "vkbuffercreateflagbit": 39, "vk_buffer_usage_transfer_dst_bit": 39, "vk_buffer_usage_uniform_texel_buffer_bit": 39, "vk_buffer_usage_storage_texel_buffer_bit": 39, "0x00000100": 39, "255": 39, "vkdestroybuff": 39, "vksamplecountflagbit": 39, "vkimagetil": 39, "vkimageusageflag": 39, "vkimagelayout": 39, "texelformat": 39, "tab": 41, "maco": 41, "vulkansdk": 41, "189": 41, "maintenancetool": 41, "exe": 41, "vulkan_sdk": 41, "vk_sdk_path": 41, "home": 41, "sha256sum": 41, "yy": 41, "tar": 41, "gz": 41, "xf": 41, "ubuntu": 41, "04": 41, "sudo": 41, "apt": 41, "instal": 41, "qtbase5": 41, "dev": 41, "libxcb": 41, "xinput0": 41, "xinerama0": 41, "qt5": 41, "fedora": 41, "dnf": 41, "qt": 41, "xinput": 41, "libxinerama": 41, "arch": 41, "pacman": 41, "ld_library_path": 41, "vk_layer_path": 41, "etc": 41, "explicit_lay": 41, "vk_add_layer_path": 41, "env": 41, "export": 41, "shell": 41, "profil": 41, "rm": [41, 43], "rf": [41, 43], "vkcube": 41, "70": 41, "130": 41, "vulkan1": 41, "vkphysicaldevicetyp": 41, "runtim": 41, "vulkaninfo": 41, "vk_make_vers": 41, "vk_version_major": 41, "vk_version_minor": 41, "vk_version_patch": 41, "major": 41, "minor": 41, "22u": 41, "12u": 41, "0x3ffu": 41, "0xfffu": 41, "175": 41, "variant": 41, "29u": 41, "vk_api_version_vari": 41, "vk_api_version_major": 41, "0x7fu": 41, "vk_api_version_minor": 41, "vk_api_version_patch": 41, "vk_header_vers": 41, "247": 41, "vk_header_version_complet": 41, "api_version_1_0": 41, "api_version_vari": 41, "api_version_major": 41, "api_version_minor": 41, "api_version_patch": 41, "vk_video": 41, "vk_platform": 41, "vk_use_platform_android_khr": 41, "vulkan_android": 41, "vk_use_platform_wayland_khr": 41, "vulkan_wayland": 41, "vk_use_platform_win32_khr": 41, "vulkan_win32": 41, "vk_use_platform_xcb_khr": 41, "vulkan_xcb": 41, "vk_use_platform_xlib_khr": 41, "x11": 41, "vulkan_xlib": 41, "vulkan_h_": 41, "vk_enum_string_help": 41, "header": [41, 42, 43], "246": 41, "json": 41, "sdl2": 41, "share": 41, "spirv_reflect": 41, "vkvia": 41, "analyz": 41, "html": 41, "vkconfig": 41, "glslangvalid": 41, "glslang": 41, "shaderc": 41, "spirv_cross": 41, "visualstudio": 41, "user": [41, 43], "usernam": 41, "document": 41, "projecttempl": 41, "vulkanmemoryalloc": 41, "essenti": 42, "uniti": 42, "program": 42, "guid": 42, "offici": 42, "learn": 42, "vulkansampl": 42, "vkenumeratephysicaldevic": 42, "vkgetphysicaldevicequeuefamilyproperti": 42, "vkqueuefamilyproperti": 42, "agdk": 42, "activ": 42, "android_main": 42, "gameact": 42, "f12": 42, "plaintext": 43, "markup languag": 43, "rent": 43, "plain": 43, "badg": 43, "primari": 43, "line": 43, "secondari": 43, "success": 43, "danger": 43, "dark": 43, "content": 43, "footer": 43, "one": 43, "two": 43, "three": 43, "bullet": 43, "list": 43, "has": 43, "second": 43, "too": 43, "nest": 43, "some": 43, "subitem": 43, "parent": 43, "continu": 43, "term": 43, "definit": 43, "must": 43, "indent": 43, "even": 43, "consist": 43, "multipl": 43, "paragraph": 43, "these": 43, "broken": 43, "exact": 43, "except": 43, "span": 43, "again": 43, "row": 43, "column": 43, "bodi": 43, "an": 43, "equat": 43, "x_": 43, "x_0": 43, "x_1": 43, "x_2": 43, "x_3": 43, "x_4": 43, "anoth": 43, "partial": 43, "phi": 43, "you": 43, "abov": 43, "eq": 43, "fieldnam": 43, "def": 43, "my_funct": 43, "my_arg": 43, "my_other_arg": 43, "just": 43, "me": 43, "param": 43, "my": 43, "messag": 43, "interpret": 43, "abbrevi": 43, "acronym": 43, "emphasi": 43, "liter": 43, "strong": 43, "subscript": 43, "superscript": 43, "refer": 43, "pleas": 43, "rtfm": 43, "read": 43, "fine": 43, "manual": 43, "citat": 43, "cit2002": 43, "footnot": 43, "label": 43, "textual": 43, "click": 43, "intern": 43, "hyperlink": 43, "take": 43, "us": 43, "below": 43, "larch": 43, "howev": 43, "bewar": 43, "killer": 43, "rabbit": 43, "myclass": 43, "mybas": 43, "myotherbas": 43, "admonit": 43, "all": 43, "follow": 43, "attent": 43, "caution": 43, "hint": 43, "tip": 43, "make": 43, "your": 43, "own": 43, "caption": 43, "figur": 43, "simpl": 43, "legend": 43, "after": 43, "symbol": 43, "campground": 43, "lake": 43, "mountain": 43, "might": 43, "custom": 43, "subsequ": 43, "compris": 43, "subtitl": 43, "decor": 43, "docinfo": 43, "transit": 43, "print": 43, "matter": 43, "where": 43, "go": 43, "there": 43, "buckaroo": 43, "banzai": 43, "highlight": 43, "pull": 43, "quot": 43, "veri": 43, "log": 43, "root": 43, "enter": 43, "eras": 43, "entir": 43, "treat": 43, "quantiti": 43, "albatross": 43, "99": 43, "stick": 43, "crunchi": 43, "frog": 43, "49": 43, "we": 43, "took": 43, "bone": 43, "wouldn": 43, "would": 43, "gannet": 43, "rippl": 43, "exampl": 43, "role": 43, "foo": 43, "lorem": 43, "ipsum": 43, "ref": 43, "dolor": 43, "sit": 43, "amet": 43, "book": 43, "or": 43, "url": 43, "whatev": 43, "replac": 43, "try1_stmt": 43, "try2_stmt": 43, "tri": 43, "suit": 43, "express": 43, "final": 43, "section": 43, "itself": 43}, "objects": {"": [[43, 0, 1, "_CPPv47MyClass", "MyClass"]], "some.module.name": [[43, 1, 1, "", "foo"]]}, "objtypes": {"0": "cpp:class", "1": "py:function"}, "objnames": {"0": ["cpp", "class", "C++ \u7c7b"], "1": ["py", "function", "Python \u51fd\u6570"]}, "titleterms": {"perlin": 0, "nois": 0, "worley": 0, "fractal": 0, "brownian": 0, "motion": 0, "fbm": 0, "raymarch": 0, "remap": 0, "post": 0, "process": 0, "extinct": 0, "singl": 0, "scatter": 0, "albedo": 0, "radiat": 0, "transfer": 0, "equat": 0, "volum": 0, "render": [0, 37], "close": 0, "form": 0, "track": 0, "webgpu": [1, 2, 3], "hello": 1, "triangl": 1, "imgui": 2, "shader": [3, 19, 21], "compil": 3, "2024": 5, "31": 5, "29": 5, "28": 5, "27": 5, "26": 5, "24": 5, "23": 5, "19": 5, "17": 5, "16": 5, "15": [5, 19], "14": [5, 19], "10": [5, 19, 29], "21": 5, "30": 5, "25": 5, "20": 5, "2023": 5, "11": [5, 19], "22": 5, "18": 5, "12": [5, 18, 19], "13": [5, 19], "vkgetphysicaldevicequeuefamilyproperti": [6, 37], "vkqueuefamilyproperti": [6, 37], "support_graphics_queue_family_index": [6, 37], "vulkan": [7, 8, 15, 16, 18, 19, 23, 32, 34, 37, 41, 42], "header": 7, "git": 7, "vk_khr_buffer_device_address": 8, "vkgetbufferdeviceaddress": [8, 12], "vkgetbufferdeviceaddresskhr": [8, 12], "vkbufferdeviceaddressinfo": [8, 12], "vkbufferdeviceaddressinfokhr": [8, 12], "vk_memory_allocate_device_address_bit": 8, "vkgetbufferopaquecaptureaddress": 8, "vkgetbufferopaquecaptureaddresskhr": 8, "vkgetdevicememoryopaquecaptureaddress": 8, "vkgetdevicememoryopaquecaptureaddresskhr": 8, "vkdevicememoryopaquecaptureaddressinfo": 8, "vkdevicememoryopaquecaptureaddressinfokhr": 8, "visual": 9, "studio": 9, "code": 9, "f12": 9, "android": 10, "agdk": 10, "game": 10, "activ": 10, "android_main": 10, "cmake": 10, "gameact": 10, "vkraytracingshadergroupcreateinfokhr": [11, 14], "vk_khr_acceleration_structur": [12, 31], "host": [12, 19, 32, 37], "devic": [12, 37], "vkaccelerationstructurebuildgeometryinfokhr": 12, "vkbuildaccelerationstructureflagbitskhr": 12, "vkbuildaccelerationstructuremodekhr": 12, "vkdeviceorhostaddresskhr": 12, "vkdeviceorhostaddressconstkhr": 12, "vkaccelerationstructuregeometrykhr": [12, 19], "vkgeometrytypekhr": 12, "vkgeometryflagbitskhr": 12, "vkaccelerationstructuregeometrydatakhr": 12, "vkaccelerationstructuregeometrytrianglesdatakhr": 12, "vktransformmatrixkhr": 12, "vkaccelerationstructuregeometryaabbsdatakhr": 12, "vkaabbpositionskhr": 12, "vkaccelerationstructuregeometryinstancesdatakhr": 12, "vkaccelerationstructureinstancekhr": 12, "vkgeometryinstanceflagbitskhr": 12, "vkgetaccelerationstructurebuildsizeskhr": 12, "vkaccelerationstructurebuildtypekhr": 12, "vkaccelerationstructurebuildsizesinfokhr": 12, "vkcreateaccelerationstructurekhr": 12, "vkaccelerationstructurecreateinfokhr": 12, "vkaccelerationstructuremotioninfonv": 12, "vk_build_acceleration_structure_motion_bit_nv": 12, "vkaccelerationstructuretypekhr": 12, "vkaccelerationstructurecreateflagbitskhr": 12, "64": 12, "vkgetaccelerationstructuredeviceaddresskhr": 12, "vkaccelerationstructuredeviceaddressinfokhr": 12, "vkdestroyaccelerationstructurekhr": 12, "vkcmdbuildaccelerationstructureskhr": 12, "vkaccelerationstructurebuildrangeinfokhr": [12, 19], "vkcmdwriteaccelerationstructurespropertieskhr": 12, "vkcmdcopyaccelerationstructurekhr": 12, "vkcopyaccelerationstructureinfokhr": 12, "vkcmdcopyaccelerationstructuretomemorykhr": 12, "vkcopyaccelerationstructuretomemoryinfokhr": 12, "vkcmdcopymemorytoaccelerationstructurekhr": 12, "vkcopymemorytoaccelerationstructureinfokhr": 12, "vkgetdeviceaccelerationstructurecompatibilitykhr": 12, "vkaccelerationstructureversioninfokhr": 12, "vkaccelerationstructurecompatibilitykhr": 12, "vkbuildaccelerationstructureskhr": 12, "vkcopyaccelerationstructurekhr": 12, "vkcopymemorytoaccelerationstructurekhr": 12, "vkcopyaccelerationstructuretomemorykhr": 12, "vkwriteaccelerationstructurespropertieskhr": 12, "vk_khr_deferred_host_oper": [13, 31], "vk_khr_ray_tracing_pipelin": [14, 31], "vkbufferusageflagbit": [14, 39], "vkdynamicst": 14, "vkpipelinebindpoint": 14, "vkpipelinestageflagbit": 14, "vkshaderstageflagbit": 14, "vkphysicaldeviceraytracingpipelinefeatureskhr": 14, "vkphysicaldeviceraytracingpipelinepropertieskhr": 14, "vkcreateraytracingpipelineskhr": 14, "vkraytracingpipelinecreateinfokhr": 14, "vkraytracingshadergrouptypekhr": 14, "vkpipelinelibrarycreateinfokhr": 14, "vkraytracingpipelineinterfacecreateinfokhr": 14, "vkgetraytracingshadergrouphandleskhr": 14, "vkgetraytracingcapturereplayshadergrouphandleskhr": 14, "vkgetraytracingshadergroupstacksizekhr": 14, "vkshadergroupshaderkhr": 14, "vkcmdsetraytracingpipelinestacksizekhr": 14, "khr": 15, "vkinstanc": [17, 37], "vkcreateinst": [17, 37], "vkinstancecreateinfo": [17, 37], "vkapplicationinfo": [17, 37], "vkenumerateinstancevers": [17, 37], "layer": [17, 37, 41], "vkenumerateinstancelayerproperti": 17, "vklayerproperti": 17, "extens": 17, "vkenumerateinstanceextensionproperti": 17, "vkextensionproperti": [17, 35], "vkdestroyinst": 17, "khrono": 18, "opengl": 18, "directx": 18, "nvidia": 19, "turbo": [19, 20, 21, 23, 24, 25, 26, 28], "github": 19, "main": [19, 26], "raytracingbuild": [19, 20], "buildbla": 19, "256mb": 19, "cmdcreatebla": 19, "cmdcompactbla": 19, "gl_instanceid": 19, "m_instanc": 19, "inst": 19, "transform": 19, "objindex": 19, "getblasdeviceaddress": 19, "uint32_t": 19, "blasid": 19, "buildtla": [19, 20], "descriptor": 19, "set": 19, "sm": 19, "praygenshaderbindingt": 19, "nsight": 19, "sbtwrapper": 19, "raytrac": [19, 24, 26, 28], "rgen": [19, 26, 28], "bind": 19, "raypayloadext": 19, "locat": 19, "raypayloadinext": 19, "miss": 19, "rchit": [19, 24, 26, 28], "alia": 19, "wavefront": 19, "glsl": [19, 28], "createraytracingpipelin": 19, "download": 19, "shadow": 19, "creatertshaderbindingt": [19, 26], "creatertdescriptorset": 19, "nvvk": 20, "anim": 20, "comp": 20, "ani": 21, "hit": 21, "obj": 21, "tracerayext": 21, "dont_use_cal": 22, "dma": 23, "hello_vulkan": [23, 26, 27], "cpp": [23, 26], "vma": 23, "rint": 24, "raytrace2": [24, 26], "ui": 25, "creatertpipelin": 26, "shaderrecordkhr": 26, "hellovulkan": 26, "raycommon": 28, "rmiss": 28, "gltf": 29, "std": 29, "vector": 29, "primmeshinfo": 29, "primlookup": 29, "name_vk": 29, "m_gltfscene": 29, "m_node": 29, "depth": 29, "createcoordinatesystem": 29, "samplinghemispher": 29, "prd": 29, "hitvalu": 29, "rtx": 30, "vk_khr_ray_queri": 31, "vk_khr_pipeline_librari": 31, "acceler": 32, "structur": 32, "defer": 32, "oper": 32, "vkcreatedevic": [35, 37], "vkdevicecreateinfo": [35, 37], "vkdevicequeuecreateinfo": [35, 37], "flag": 35, "vkenumeratedeviceextensionproperti": 35, "vkgetphysicaldevicefeatur": 35, "vkphysicaldevicefeatur": 35, "vkdestroydevic": 35, "pfn_vkallocationfunct": 36, "pfn_vkreallocationfunct": 36, "pfn_vkfreefunct": 36, "pfn_vkinternalallocationnotif": 36, "pfn_vkinternalfreenotif": 36, "vksystemallocationscop": 36, "vkinternalallocationtyp": 36, "vkgetphysicaldevicememoryproperti": [36, 37], "vkphysicaldevicememoryproperti": [36, 37], "vk_max_memory_typ": [36, 37], "vk_max_memory_heap": 36, "vkmemoryheap": [36, 37], "vkmemoryheapflagbit": [36, 37], "vkmemorytyp": [36, 37], "vkmemorypropertyflagbit": [36, 37], "vkallocatememori": 36, "vkmemoryallocateinfo": [36, 37], "vkfreememori": [36, 37], "vkmapmemori": [36, 37], "vkmemorymapflag": 36, "ppdata": 36, "vkunmapmemori": [36, 37], "vkflushmappedmemoryrang": 36, "vkinvalidatemappedmemoryrang": 36, "vkmappedmemoryrang": 36, "dispatch": 37, "non": 37, "physicaldevic": 37, "vkgetinstanceprocaddr": 37, "pfn_": 37, "pfn_vkvoidfunct": 37, "vk_null_handl": 37, "palloc": 37, "vk_success": 37, "stype": 37, "pnext": 37, "vkinstancecreateflag": 37, "vkflag": 37, "vkenumeratephysicaldevic": [37, 38], "vkgetphysicaldeviceproperti": [37, 38, 41], "vkphysicaldeviceproperti": [37, 38], "vkphysicaldevicetyp": [37, 38], "vk_physical_device_type_cpu": 37, "vkqueueflag": 37, "vkqueueflagbit": 37, "vk_queue_graphics_bit": 37, "vkgetdeviceprocaddr": 37, "vkgetdevicequeu": 37, "const": 37, "vkallocationcallback": 37, "vkdevices": 37, "vk": 37, "alloc": 37, "free": 37, "memori": 37, "vkcreatebuff": [37, 39], "vkbuffercreateinfo": [37, 39], "vkbufferusageflag": 37, "vk_buffer_usage_": 37, "_buffer_bit": 37, "vksharingmod": [37, 39], "vk_buffer_usage_transfer_dst_bit": 37, "vk_buffer_usage_vertex_buffer_bit": 37, "vkcreateimag": [37, 39], "vkimagecreateinfo": [37, 39], "vkimagetyp": [37, 39], "vkformat": 37, "vkextent3d": [37, 39], "vksamplecountflagbit": 37, "vkimagetil": 37, "vkimageusageflag": 37, "vk_image_usage_transfer_src_bit": 37, "vk_image_usage_transfer_dst_bit": 37, "vkimagelayout": 37, "vkcreateimageview": 37, "vkimageviewcreateinfo": 37, "vkimageviewtyp": 37, "vkcomponentmap": 37, "vkcomponentswizzl": 37, "vkimagesubresourcerang": 37, "vkimageaspectflag": 37, "vkgetbuffermemoryrequir": 37, "vkgetimagememoryrequir": 37, "vkmemoryrequir": 37, "memorytypebit": 37, "vkbindbuffermemori": 37, "vkbindimagememori": 37, "cpu": 37, "gpu": 37, "vkcreatecommandpool": 37, "vkcommandpoolcreateinfo": 37, "vkcommandpoolcreateflagbit": 37, "vkcommandbufferallocateinfo": 37, "vkcommandbufferlevel": 37, "vkbegincommandbuff": 37, "vkcommandbufferbegininfo": 37, "pinheritanceinfo": 37, "vkcommandbufferusageflag": 37, "pass": 37, "vk_command_buffer_usage_one_time_submit_bit": 37, "vk_command_buffer_usage_simultaneous_use_bit": 37, "vkendcommandbuff": 37, "vkqueuesubmit": 37, "vkfenc": 37, "vksubmitinfo": 37, "vksemaphor": 37, "vkdevicewaitidl": 37, "vkqueuewaitidl": 37, "vkcreatef": 37, "vkfencecreateinfo": 37, "vkfencecreateflag": 37, "vkwaitforf": 37, "vkphysicaldevicelimit": 38, "vkphysicaldevicesparseproperti": 38, "vkbuffercreateflag": 39, "sdk": 41, "loader": 41, "instanc": 41, "lib": 41, "bin": 41, "bin32": 41, "spir": 41, "includ": 41, "lib32": 41, "templat": 41, "biohazard": 42, "test": 43, "math": 43, "this": 43, "is": 43, "head": 43, "and": 43, "by": 43, "the": 43, "way": 43, "topic": 43, "titl": 43, "option": 43, "sidebar": 43, "truth": 43, "tabl": 43, "for": 43, "not": 43, "frozen": 43, "delight": 43}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx_last_updated_by_git": 1, "sphinx": 60}, "alltitles": {"\u4f53\u79ef\u4e91": [[0, "id1"]], "\u6982\u8ff0": [[0, "id2"]], "0 \u80cc\u666f": [[0, "id3"]], "0.1 \u566a\u97f3": [[0, "id4"]], "0.1.1 \u67cf\u6797\u566a\u97f3\uff08Perlin Noise\uff09": [[0, "perlin-noise"]], "0.1.2 \u6c83\u5229\u566a\u97f3 \uff08Worley Noise\uff09": [[0, "worley-noise"]], "0.1.3 \u4e09\u7ef4\u566a\u97f3\u7eb9\u7406": [[0, "id5"]], "0.2 \u5206\u5f62\uff08fractal\uff09": [[0, "fractal"]], "0.2.1 \u5206\u5f62\u5e03\u6717\u8fd0\u52a8\uff08Fractal Brownian Motion\uff0c\u7b80\u79f0FBM\uff09": [[0, "fractal-brownian-motion-fbm"]], "0.3 \u5149\u7ebf\u6b65\u8fdb\uff08Raymarch\uff09": [[0, "raymarch"]], "1 \u4e91\u4f53\u5efa\u6a21": [[0, "id6"]], "1.1 \u67cf\u6797-\u6c83\u5229\u566a\u97f3": [[0, "id7"]], "1.1.1 \u67cf\u6797\u566a\u97f3": [[0, "id8"]], "1.1.2 FBM\u7b97\u6cd5": [[0, "fbm"]], "1.1.3 \u67cf\u6797FBM\u566a\u97f3": [[0, "id9"]], "1.1.4 \u6c83\u5229\u566a\u97f3": [[0, "id10"]], "1.1.5 \u6c83\u5229FBM\u566a\u97f3": [[0, "id11"]], "1.2 \u67cf\u6797-\u6c83\u5229\u566a\u97f3\u5b9e\u73b0": [[0, "id12"]], "1.2.1 \u91cd\u6620\u5c04\u51fd\u6570\uff08Remap\uff09": [[0, "remap"]], "1.2.2 \u67cf\u6797-\u6c83\u5229\u4e09\u7ef4\u566a\u97f3\u7eb9\u7406": [[0, "id13"]], "1.3 \u4e09\u7ef4\u6c83\u5229\u566a\u97f3\u7eb9\u7406": [[0, "id14"]], "2 \u5149\u7ebf\u6b65\u8fdb\u4e0e\u91c7\u6837": [[0, "id15"]], "2.1 \u5149\u7ebf\u6b65\u8fdb": [[0, "id16"]], "2.1.1 \u540e\u5904\u7406\uff08Post Processing\uff09": [[0, "post-processing"]], "2.1.2 \u5149\u7ebf\u6b65\u8fdb\u539f\u7406": [[0, "id17"]], "2.1.2.1 \u5149\u7ebf": [[0, "id18"]], "2.1.2.1.1 \u5176\u4ed6\u5149\u7ebf\u7b97\u6cd5": [[0, "id19"]], "2.1.2.2 \u6b65\u8fdb\u5faa\u73af": [[0, "id20"]], "2.1.3 \u5305\u56f4\u76d2": [[0, "id21"]], "2.1.3.1 \u63cf\u8ff0\u5305\u56f4\u76d2": [[0, "id22"]], "2.1.3.2 \u5305\u56f4\u76d2\u4e2d\u6b65\u8fdb\u7684\u8d77\u70b9\u548c\u7ec8\u70b9": [[0, "id23"]], "2.1.4 \u5305\u56f4\u76d2\u5185\u5149\u7ebf\u6b65\u8fdb": [[0, "id24"]], "2.1.4.1 \u5305\u56f4\u76d2\u5185\u4e09\u7ef4\u7eb9\u7406\u91c7\u6837": [[0, "id25"]], "3 \u5149\u7167": [[0, "id26"]], "3.1 \u4ecb\u7ecd": [[0, "id27"]], "3.1.1 \u7b26\u53f7\u5bf9\u7167\u8868": [[0, "id28"]], "3.2 \u4f53\u6e32\u67d3\u7406\u8bba": [[0, "id29"]], "3.2.1 \u4f53\u79ef\u7279\u6027": [[0, "id30"]], "3.2.1.1 \u53c2\u6570\u5316\u6d88\u4ea1\uff08Extinction\uff09\u548c\u5355\u6563\u5c04\u53cd\u7167\u7387\uff08Single Scattering Albedo\uff09": [[0, "extinction-single-scattering-albedo"]], "3.2.2 \u4f53\u79ef\u4e2d\u7684\u5149\u7ebf\u4f20\u8f93": [[0, "id31"]], "3.2.2.1 \u8f90\u5c04\u4f20\u8f93\u65b9\u7a0b\uff08Radiative Transfer Equation\uff09": [[0, "radiative-transfer-equation"]], "3.2.2.2 \u4f53\u6e32\u67d3\u65b9\u7a0b\uff08Volume Rendering Equation\uff09": [[0, "volume-rendering-equation"]], "3.2.3 \u8ffd\u8e2a\u65b9\u5f0f": [[0, "id32"]], "3.2.3.1 \u6700\u8fd1\u5f0f\u8ffd\u8e2a\uff08Closed-form Tracking\uff09": [[0, "closed-form-tracking"]], "4 \u95ee\u9898": [[0, "id33"]], "\u672a\u5b8c\u5f85\u7eed": [[0, "id34"]], "WebGPU Hello Triangle": [[1, "webgpu-hello-triangle"]], "WebGPU ImGui": [[2, "webgpu-imgui"]], "WebGPU Shader Compiler": [[3, "webgpu-shader-compiler"]], "\u56fe\u793a\u8bf4\u660e": [[3, null]], "\u6e90\u7801\u8bf4\u660e": [[3, null]], "\u66f4\u65b0\u8bb0\u5f55": [[3, null], [3, null], [3, null], [3, null], [3, null], [4, null]], "\u5b58\u5728\u7684\u95ee\u9898": [[3, null], [3, null], [3, null]], "\u91cd\u8981\u529f\u80fd": [[3, null], [3, null], [3, null]], "\u4f7f\u7528\u6559\u7a0b": [[3, null], [3, null]], "\u5141\u8bb8\u8bbf\u95ee\u526a\u8d34\u677f": [[3, null]], "\u5f00\u53d1\u8ba1\u5212": [[3, null], [3, null]], "\u5e94\u7528": [[4, "id1"]], "\u66f4\u65b0\u65e5\u5fd7": [[5, "id1"], [42, null]], "2024/3/31": [[5, "id2"]], "2024/3/29": [[5, "id3"]], "2024/3/28": [[5, "id4"]], "2024/3/27": [[5, "id5"]], "2024/3/26": [[5, "id6"]], "2024/3/24": [[5, "id7"]], "2024/3/23": [[5, "id8"]], "2024/3/19": [[5, "id9"]], "2024/3/17": [[5, "id10"]], "2024/3/16": [[5, "id11"]], "2024/3/15": [[5, "id12"]], "2024/3/14": [[5, "id13"]], "2024/3/10": [[5, "id14"]], "2024/3/9": [[5, "id15"]], "2024/3/3": [[5, "id16"]], "2024/2/27": [[5, "id17"]], "2024/2/21": [[5, "id18"]], "2024/2/17": [[5, "id19"]], "2024/2/16": [[5, "id20"]], "2024/2/8": [[5, "id21"]], "2024/2/7": [[5, "id22"]], "2024/2/5": [[5, "id23"]], "2024/2/4": [[5, "id24"]], "2024/2/3": [[5, "id25"]], "2024/2/2": [[5, "id26"]], "2024/2/1": [[5, "id27"]], "2024/1/30": [[5, "id28"]], "2024/1/28": [[5, "id29"]], "2024/1/25": [[5, "id30"]], "2024/1/20": [[5, "id31"]], "2024/1/14": [[5, "id32"]], "2024/1/10": [[5, "id33"]], "2024/1/9": [[5, "id34"]], "2024/1/8": [[5, "id35"]], "2024/1/6": [[5, "id36"]], "2024/1/5": [[5, "id37"]], "2024/1/4": [[5, "id38"]], "2024/1/3": [[5, "id39"]], "2024/1/2": [[5, "id40"]], "2023/11/4": [[5, "id41"]], "2023/11/2": [[5, "id42"]], "2023/11/1": [[5, "id43"]], "2023/10/31": [[5, "id44"]], "2023/10/28": [[5, "id45"]], "2023/10/26": [[5, "id46"]], "2023/10/24": [[5, "id47"]], "2023/10/22": [[5, "id48"]], "2023/10/21": [[5, "id49"]], "2023/10/19": [[5, "id50"]], "2023/10/18": [[5, "id51"]], "2023/10/17": [[5, "id52"]], "2023/10/16": [[5, "id53"]], "2023/10/15": [[5, "id54"]], "2023/10/12": [[5, "id55"]], "2023/10/10": [[5, "id56"]], "2023/10/8": [[5, "id57"]], "2023/10/7": [[5, "id58"]], "2023/10/6": [[5, "id59"]], "2023/10/4": [[5, "id60"]], "2023/10/3": [[5, "id61"]], "2023/9/25": [[5, "id62"]], "2023/9/23": [[5, "id63"]], "2023/9/22": [[5, "id64"]], "2023/9/20": [[5, "id65"]], "2023/9/15": [[5, "id66"]], "2023/9/14": [[5, "id67"]], "2023/9/13": [[5, "id68"]], "2023/9/12": [[5, "id69"]], "2023/9/7": [[5, "id70"]], "2023/9/4": [[5, "id71"]], "2023/9/1": [[5, "id72"]], "2023/8/31": [[5, "id73"]], "2023/8/29": [[5, "id74"]], "2023/8/25": [[5, "id75"]], "2023/8/24": [[5, "id76"]], "2023/8/23": [[5, "id77"]], "2023/8/4": [[5, "id78"]], "2023/8/3": [[5, "id79"]], "2023/8/1": [[5, "id80"]], "2023/7/31": [[5, "id81"]], "2023/7/29": [[5, "id82"]], "2023/7/28": [[5, "id83"]], "2023/7/27": [[5, "id84"]], "2023/7/26": [[5, "id85"]], "2023/7/25": [[5, "id86"]], "2023/7/24": [[5, "id87"]], "2023/7/21": [[5, "id88"]], "2023/7/17": [[5, "id89"]], "2023/7/14": [[5, "id90"]], "2023/7/10": [[5, "id91"]], "2023/7/9": [[5, "id92"]], "2023/7/8": [[5, "id93"]], "2023/7/4": [[5, "id94"]], "2023/7/2": [[5, "id95"]], "2023/6/30": [[5, "id96"]], "2023/6/29": [[5, "id97"]], "2023/6/28": [[5, "id98"]], "2023/6/27": [[5, "id99"]], "2023/6/26": [[5, "id100"]], "2023/6/25": [[5, "id101"]], "2023/6/24": [[5, "id102"]], "2023/6/23": [[5, "id103"]], "2023/6/21": [[5, "id104"]], "2023/6/20": [[5, "id105"]], "2023/6/15": [[5, "id106"]], "2023/6/14": [[5, "id107"]], "2023/6/13": [[5, "id108"]], "2023/6/12": [[5, "id109"]], "2023/6/11": [[5, "id110"]], "2023/6/10": [[5, "id111"]], "2023/6/9": [[5, "id112"]], "2023/6/8": [[5, "id113"]], "2023/6/7": [[5, "id114"]], "2023/6/6": [[5, "id115"]], "2023/6/5": [[5, "id116"]], "2023/6/4": [[5, "id117"]], "2023/6/3": [[5, "id118"]], "2023/6/2": [[5, "id119"]], "2023/6/1": [[5, "id120"]], "2023/5/31": [[5, "id121"]], "2023/5/30": [[5, "id122"]], "2023/5/29": [[5, "id123"]], "2023/5/28": [[5, "id124"]], "2023/5/27": [[5, "id125"]], "2023/5/26": [[5, "id126"]], "2023/5/25": [[5, "id127"]], "2023/5/24": [[5, "id128"]], "2023/5/23": [[5, "id129"]], "2023/5/22": [[5, "id130"]], "2023/5/21": [[5, "id131"]], "2023/5/20": [[5, "id132"]], "2023/5/19": [[5, "id133"]], "2023/5/18": [[5, "id134"]], "2023/5/17": [[5, "id135"]], "2023/5/16": [[5, "id136"]], "2023/5/15": [[5, "id137"]], "2023/5/14": [[5, "id138"]], "2023/5/12": [[5, "id139"]], "2023/5/11": [[5, "id140"]], "2023/5/10": [[5, "id141"]], "2023/5/9": [[5, "id142"]], "2023/5/8": [[5, "id143"]], "\u8bbe\u5907\u961f\u5217": [[6, "id1"], [37, "devicequeue"]], "\u91cd\u8981": [[6, null]], "vkGetPhysicalDeviceQueueFamilyProperties": [[6, "vkgetphysicaldevicequeuefamilyproperties"], [37, "vkgetphysicaldevicequeuefamilyproperties"]], "VkQueueFamilyProperties": [[6, "vkqueuefamilyproperties"], [37, "vkqueuefamilyproperties"]], "\u793a\u4f8b": [[6, "id2"], [17, "id4"], [35, "vkdevicecreatedemo"], [35, "id11"], [36, "id5"], [36, "id8"], [36, "id10"], [36, "id12"], [36, "id14"], [36, "id18"], [38, "id3"], [39, "id4"], [39, "id6"]], "support_graphics_queue_family_index": [[6, null], [37, null]], "\u73af\u5883\u914d\u7f6e": [[7, "id1"], [7, "id3"]], "\u83b7\u53d6 Vulkan-Headers": [[7, "id2"]], "Git \u4e0b\u8f7d": [[7, null]], "\u6ce8\u610f": [[7, null], [20, null], [20, null], [24, null], [24, null], [26, null], [26, null], [26, null], [26, null], [37, null]], "VK_KHR_buffer_device_address": [[8, "vk-khr-buffer-device-address"]], "\u4f9d\u8d56": [[8, "id1"]], "\u65b0\u589e\u51fd\u6570": [[8, "id2"], [14, "id2"]], "\u65b0\u589e\u7279\u6027": [[8, "id3"], [14, "id4"]], "\u63d0\u5347\u81f3 Vulkan 1.2 \u6838\u5fc3": [[8, null]], "\u63d0\u5347\u81f3 Vulkan 1.3 \u6838\u5fc3": [[8, null]], "\u8bbf\u95ee\u7269\u7406\u5b58\u50a8\u7f13\u5b58": [[8, "id4"]], "vkGetBufferDeviceAddress": [[8, "vkgetbufferdeviceaddress"], [12, "vkgetbufferdeviceaddress"]], "vkGetBufferDeviceAddressKHR": [[8, "id5"], [12, "vkgetbufferdeviceaddresskhr"]], "\u6b63\u786e\u7528\u6cd5": [[8, null], [8, null], [8, null], [8, null], [8, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [12, null], [14, null], [14, null], [14, null], [14, null], [14, null], [14, null], [14, null], [14, null]], "VkBufferDeviceAddressInfo": [[8, "vkbufferdeviceaddressinfo"], [12, "vkbufferdeviceaddressinfo"]], "VkBufferDeviceAddressInfoKHR": [[8, "vkbufferdeviceaddressinfokhr"], [12, "vkbufferdeviceaddressinfokhr"]], "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT": [[8, null]], "vkGetBufferOpaqueCaptureAddress": [[8, "vkgetbufferopaquecaptureaddress"]], "vkGetBufferOpaqueCaptureAddressKHR": [[8, "id6"]], "\u67e5\u8be2\u4e0d\u900f\u660e\u6355\u83b7\u5730\u5740": [[8, "id7"]], "vkGetDeviceMemoryOpaqueCaptureAddress": [[8, "vkgetdevicememoryopaquecaptureaddress"]], "vkGetDeviceMemoryOpaqueCaptureAddressKHR": [[8, "id8"]], "VkDeviceMemoryOpaqueCaptureAddressInfo": [[8, "vkdevicememoryopaquecaptureaddressinfo"]], "VkDeviceMemoryOpaqueCaptureAddressInfoKHR": [[8, "vkdevicememoryopaquecaptureaddressinfokhr"]], "Visual Studio Code": [[9, "visual-studio-code"]], "F12 \u8df3\u8f6c\u81f3\u5b9a\u4e49\u65f6\uff0c\u4f18\u5148\u8df3\u8f6c\u81f3\u5df2\u6253\u5f00\u7684\u6587\u4ef6\u9875\u9762\uff0c\u800c\u4e0d\u662f\u91cd\u65b0\u5f00\u542f\u4e00\u4e2a\u6587\u4ef6\u9875\u9762": [[9, "f12"]], "Android \u5e73\u53f0\u9002\u914d": [[10, "android"]], "AGDK": [[10, "id1"]], "game-activity \u4f7f\u7528": [[10, "game-activity"]], "\u5b9e\u73b0 android_main": [[10, "android-main"]], "\u6e38\u620f\u5faa\u73af": [[10, "id2"]], "\u4e8b\u4ef6\u5904\u7406": [[10, "id3"]], "\u5bfc\u51fa\u52a8\u6001\u5e93": [[10, "id6"]], "CMake \u6307\u4ee4": [[10, "id7"]], "GameActivity \u5f15\u5165\u5e93": [[10, "id8"]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id1"], [11, "id3"], [22, "id10"]], "\u5149\u8ffd\u7ba1\u7ebf\u548c\u7740\u8272\u5668\u7ec4\u7ed3\u6784": [[11, "id4"]], "VkRayTracingShaderGroupCreateInfoKHR": [[11, "vkraytracingshadergroupcreateinfokhr"], [14, "vkraytracingshadergroupcreateinfokhr"]], "\u4e00\u4e2a\u7b80\u5355\u7684\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u793a\u610f\u56fe": [[11, "id6"]], "\u7740\u8272\u5668\u7ec4": [[11, "id7"]], "\u751f\u6210\u7ec4": [[11, "id8"]], "\u547d\u4e2d\u7ec4": [[11, "id9"]], "\u672a\u547d\u4e2d\u7ec4": [[11, "id10"]], "\u53ef\u8c03\u7528\u7ec4": [[11, "id11"]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u6784\u6210": [[11, "id12"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id13"]], "\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id14"]], "\u672a\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id15"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[11, "id16"]], "\u7efc\u4e0a": [[11, "id17"]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u62f7\u8d1d": [[11, "id18"]], "\u5149\u8ffd\u8c03\u5ea6\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id19"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id20"]], "\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id21"]], "\u672a\u547d\u4e2d\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id22"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u5bfb\u5740": [[11, "id23"]], "VK_KHR_acceleration_structure": [[12, "vk-khr-acceleration-structure"], [31, "id3"]], "\u52a0\u901f\u7ed3\u6784\u7684\u521b\u5efa\u548c\u6784\u5efa": [[12, null]], "\u67e5\u770b\u662f\u5426\u652f\u6301\u52a0\u901f\u7ed3\u6784\u7279\u6027": [[12, "id3"]], "host \u7aef\u8fd8\u662f device \u7aef": [[12, null]], "\u4f8b\u7a0b": [[12, "id4"], [12, "id6"]], "\u6fc0\u6d3b\u52a0\u901f\u7ed3\u6784\u7279\u6027": [[12, "id5"]], "\u83b7\u53d6\u7f13\u5b58\u7684\u8bbe\u5907\u5730\u5740": [[12, "id7"]], "\u52a0\u901f\u7ed3\u6784": [[12, "id8"], [24, "id8"]], "\u51e0\u4f55\u4f53": [[12, "id9"]], "\u8f74\u5bf9\u9f50\u5305\u56f4\u76d2": [[12, null]], "\u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[12, "id10"], [24, "id10"]], "\u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[12, "id11"], [24, "id9"]], "\u52a0\u901f\u7ed3\u6784\u7684\u66f4\u65b0\u89c4\u5219": [[12, "id12"]], "\u65e0\u6548\u7684\u56fe\u5143\u548c\u5b9e\u4f53": [[12, "id13"]], "\u5b89\u9759\u7684\u3001\u5435\u95f9\u7684": [[12, null]], "\u52a0\u901f\u7ed3\u6784\u7684\u63cf\u8ff0": [[12, "id14"]], "VkAccelerationStructureBuildGeometryInfoKHR": [[12, "vkaccelerationstructurebuildgeometryinfokhr"]], "\u6682\u4ed8\u7f13\u5b58": [[12, null], [19, null]], "VkBuildAccelerationStructureFlagBitsKHR": [[12, "vkbuildaccelerationstructureflagbitskhr"]], "VkBuildAccelerationStructureModeKHR": [[12, "vkbuildaccelerationstructuremodekhr"]], "VkDeviceOrHostAddressKHR": [[12, "vkdeviceorhostaddresskhr"]], "VkDeviceOrHostAddressConstKHR": [[12, "vkdeviceorhostaddressconstkhr"]], "VkAccelerationStructureGeometryKHR": [[12, "vkaccelerationstructuregeometrykhr"]], "VkGeometryTypeKHR": [[12, "vkgeometrytypekhr"]], "VkGeometryFlagBitsKHR": [[12, "vkgeometryflagbitskhr"]], "VkAccelerationStructureGeometryDataKHR": [[12, "vkaccelerationstructuregeometrydatakhr"]], "VkAccelerationStructureGeometryTrianglesDataKHR": [[12, "vkaccelerationstructuregeometrytrianglesdatakhr"]], "VkTransformMatrixKHR": [[12, "vktransformmatrixkhr"]], "VkAccelerationStructureGeometryAabbsDataKHR": [[12, "vkaccelerationstructuregeometryaabbsdatakhr"]], "VkAabbPositionsKHR": [[12, "vkaabbpositionskhr"]], "VkAccelerationStructureGeometryInstancesDataKHR": [[12, "vkaccelerationstructuregeometryinstancesdatakhr"]], "\u52a0\u901f\u7ed3\u6784\u5b9e\u4f53": [[12, null]], "VkAccelerationStructureInstanceKHR": [[12, "vkaccelerationstructureinstancekhr"]], "VkGeometryInstanceFlagBitsKHR": [[12, "vkgeometryinstanceflagbitskhr"]], "\u83b7\u53d6\u52a0\u901f\u7ed3\u6784\u7684\u6784\u5efa\u5927\u5c0f": [[12, "id15"], [12, null]], "vkGetAccelerationStructureBuildSizesKHR": [[12, "id16"]], "VkAccelerationStructureBuildTypeKHR": [[12, "vkaccelerationstructurebuildtypekhr"]], "VkAccelerationStructureBuildSizesInfoKHR": [[12, "vkaccelerationstructurebuildsizesinfokhr"]], "\u521b\u5efa\u52a0\u901f\u7ed3\u6784": [[12, "id17"]], "vkCreateAccelerationStructureKHR": [[12, "id18"]], "VkAccelerationStructureCreateInfoKHR": [[12, "vkaccelerationstructurecreateinfokhr"]], "\u5907\u6ce8": [[12, null], [12, null]], "VkAccelerationStructureMotionInfoNV \u548c VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV": [[12, null]], "VkAccelerationStructureTypeKHR": [[12, "vkaccelerationstructuretypekhr"]], "VkAccelerationStructureCreateFlagBitsKHR": [[12, "vkaccelerationstructurecreateflagbitskhr"]], "\u83b7\u53d664\u4f4d\u52a0\u901f\u7ed3\u6784\u8bbe\u5907\u5730\u5740": [[12, "id19"]], "vkGetAccelerationStructureDeviceAddressKHR": [[12, "id20"]], "VkAccelerationStructureDeviceAddressInfoKHR": [[12, "vkaccelerationstructuredeviceaddressinfokhr"]], "\u9500\u6bc1\u52a0\u901f\u7ed3\u6784": [[12, "id21"]], "vkDestroyAccelerationStructureKHR": [[12, "id22"]], "\u6784\u5efa\u52a0\u901f\u7ed3\u6784": [[12, "id23"]], "vkCmdBuildAccelerationStructuresKHR": [[12, "id24"]], "\u5b9e\u4f53\u52a0\u901f\u7ed3\u6784": [[12, null]], "\u5185\u5b58\u6df7\u53e0": [[12, null]], "VkAccelerationStructureBuildRangeInfoKHR": [[12, "vkaccelerationstructurebuildrangeinfokhr"]], "\u62f7\u8d1d\u52a0\u901f\u7ed3\u6784": [[12, "id25"]], "vkCmdWriteAccelerationStructuresPropertiesKHR": [[12, "id26"]], "vkCmdCopyAccelerationStructureKHR": [[12, "id27"]], "VkCopyAccelerationStructureInfoKHR": [[12, "vkcopyaccelerationstructureinfokhr"]], "vkCmdCopyAccelerationStructureToMemoryKHR": [[12, "id28"]], "VkCopyAccelerationStructureToMemoryInfoKHR": [[12, "vkcopyaccelerationstructuretomemoryinfokhr"]], "vkCmdCopyMemoryToAccelerationStructureKHR": [[12, "id29"]], "VkCopyMemoryToAccelerationStructureInfoKHR": [[12, "vkcopymemorytoaccelerationstructureinfokhr"]], "vkGetDeviceAccelerationStructureCompatibilityKHR": [[12, "id30"]], "VkAccelerationStructureVersionInfoKHR": [[12, "vkaccelerationstructureversioninfokhr"]], "VkAccelerationStructureCompatibilityKHR": [[12, "vkaccelerationstructurecompatibilitykhr"]], "\u52a0\u901f\u7ed3\u6784\u7684 Host \u7aef\u64cd\u4f5c": [[12, "host"]], "vkBuildAccelerationStructuresKHR": [[12, "id31"]], "vkCopyAccelerationStructureKHR": [[12, "id32"]], "vkCopyMemoryToAccelerationStructureKHR": [[12, "id33"]], "vkCopyAccelerationStructureToMemoryKHR": [[12, "id34"]], "vkWriteAccelerationStructuresPropertiesKHR": [[12, "id35"]], "VK_KHR_deferred_host_operations": [[13, "vk-khr-deferred-host-operations"], [31, "id8"]], "VK_KHR_ray_tracing_pipeline": [[14, "vk-khr-ray-tracing-pipeline"], [31, "id4"]], "\u6269\u5c55\u540d\u5b9a\u4e49": [[14, "id1"]], "\u65b0\u589e\u679a\u4e3e": [[14, "id3"]], "VkBufferUsageFlagBits": [[14, "vkbufferusageflagbits"], [39, "vkbufferusageflagbits"]], "VkDynamicState": [[14, "vkdynamicstate"]], "VkPipelineBindPoint": [[14, "vkpipelinebindpoint"]], "VkPipelineStageFlagBits": [[14, "vkpipelinestageflagbits"]], "VkShaderStageFlagBits": [[14, "vkshaderstageflagbits"]], "\u65b0\u589e\u5c5e\u6027": [[14, "id5"]], "VkPhysicalDeviceRayTracingPipelineFeaturesKHR": [[14, "vkphysicaldeviceraytracingpipelinefeatureskhr"]], "VkPhysicalDeviceRayTracingPipelinePropertiesKHR": [[14, "vkphysicaldeviceraytracingpipelinepropertieskhr"]], "vkCreateRayTracingPipelinesKHR": [[14, "id6"]], "VkRayTracingPipelineCreateInfoKHR": [[14, "vkraytracingpipelinecreateinfokhr"]], "VkRayTracingShaderGroupTypeKHR": [[14, "vkraytracingshadergrouptypekhr"]], "VkPipelineLibraryCreateInfoKHR": [[14, "vkpipelinelibrarycreateinfokhr"]], "VkRayTracingPipelineInterfaceCreateInfoKHR": [[14, "vkraytracingpipelineinterfacecreateinfokhr"]], "vkGetRayTracingShaderGroupHandlesKHR": [[14, "id8"]], "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR": [[14, "id11"]], "vkGetRayTracingShaderGroupStackSizeKHR": [[14, "id14"]], "VkShaderGroupShaderKHR": [[14, "vkshadergroupshaderkhr"]], "vkCmdSetRayTracingPipelineStackSizeKHR": [[14, "id15"]], "Vulkan KHR \u5149\u7ebf\u8ffd\u8e2a\u6807\u51c6": [[15, "vulkan-khr"]], "\u6709\u5173\u672c\u6587\u6863\u7ed3\u6784": [[15, null]], "Vulkan \u6807\u51c6": [[16, "vulkan"]], "\u6700\u521d\u4e4b\u7269 VkInstance": [[17, "vkinstance"]], "\u521b\u5efa VkInstance": [[17, "id1"], [37, "vkinstance"]], "vkCreateInstance": [[17, "vkcreateinstance"], [37, "vkcreateinstance"]], "VkInstanceCreateInfo": [[17, "vkinstancecreateinfo"], [37, "vkinstancecreateinfo"]], "VkApplicationInfo": [[17, "vkapplicationinfo"], [37, "vkapplicationinfo"]], "vkEnumerateInstanceVersion": [[17, "vkenumerateinstanceversion"], [17, null], [37, "vkenumerateinstanceversion"]], "Layer": [[17, "layer"], [41, null]], "\u5b98\u65b9 Layer \u6587\u6863": [[17, null]], "vkEnumerateInstanceLayerProperties": [[17, "vkenumerateinstancelayerproperties"]], "VkLayerProperties": [[17, "vklayerproperties"]], "Extension": [[17, "extension"]], "vkEnumerateInstanceExtensionProperties": [[17, "vkenumerateinstanceextensionproperties"]], "VkExtensionProperties": [[17, "vkextensionproperties"], [35, "vkextensionproperties"]], "\u6709\u4e00\u4e9b\u5b9e\u4f8b\u6269\u5c55\u6211\u4eec\u9700\u8981\u91cd\u70b9\u5173\u6ce8\u4e00\u4e0b": [[17, null]], "\u6bd4\u5982": [[17, null]], "\u9500\u6bc1 VkInstance": [[17, "id3"]], "vkDestroyInstance": [[17, "vkdestroyinstance"]], "\u4ecb\u7ecd": [[18, "id1"]], "\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66": [[18, "id2"]], "\u5b9e\u65f6\u6e32\u67d3\u548c\u79bb\u7ebf\u6e32\u67d3": [[18, "id4"]], "\u5b9e\u65f6\u3001\u79bb\u7ebf\u4e0e\u5149\u7ebf\u8ffd\u8e2a": [[18, null]], "\u56fe\u5f62\u63a5\u53e3": [[18, "id5"]], "Khronos\u7ec4\u7ec7": [[18, "khronos"]], "OpenGL": [[18, "opengl"]], "Vulkan": [[18, "vulkan"]], "Vulkan \u4e0e DirectX 12": [[18, null]], "\u6709\u5173\u5b66\u4e60 Vulkan": [[18, null]], "NVIDIA Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6559\u7a0b": [[19, "nvidia-vulkan"]], "Turbo \u5f15\u64ce\u4e2d\u5bf9\u8be5\u6559\u7a0b\u7684\u5b9e\u73b0\u793a\u4f8b": [[19, null], [20, null], [21, null], [23, null], [24, null], [25, null], [26, null], [28, null]], "GitHub\u4ed3\u5e93": [[19, null]], "1 \u4ecb\u7ecd": [[19, "id6"]], "2 \u914d\u7f6e\u73af\u5883": [[19, "environment-setup"]], "2.1 \u751f\u6210\u89e3\u51b3\u65b9\u6848": [[19, "id8"]], "2.2 \u5de5\u5177\u5b89\u88c5": [[19, "id9"]], "3 \u7f16\u8bd1\u548c\u8fd0\u884c": [[19, "id10"]], "4 \u5f00\u59cb\u6b65\u5165\u5149\u7ebf\u8ffd\u8e2a": [[19, "id11"]], "\u52a0\u8f7d\u51fd\u6570\u6307\u9488": [[19, null]], "4.1 main": [[19, "main"]], "\u7ec3\u4e60": [[19, null]], "5 \u52a0\u901f\u7ed3\u6784": [[19, "id12"]], "\u5185\u5b58\u7ba1\u7406": [[19, null], [37, "id22"]], "5.1 \u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[19, "bottom-level-acceleration-structure"]], "\u5bf9\u4e8e VkAccelerationStructureGeometryKHR \u548c VkAccelerationStructureBuildRangeInfoKHR \u5206\u522b\u4e3a\u72ec\u7acb\u7ed3\u6784\u4f53": [[19, null]], "\u9876\u70b9\u5c5e\u6027": [[19, null]], "\u5185\u5b58\u5b89\u5168": [[19, null]], "5.1.1 \u5e2e\u52a9\u7c7b\u7ec6\u8282\uff1aRaytracingBuilder::buildBlas()": [[19, "raytracingbuilder-buildblas"]], "\u538b\u7f29": [[19, null]], "256MB": [[19, null]], "5.1.1.1 cmdCreateBlas": [[19, "cmdcreateblas"]], "5.1.1.2 cmdCompactBlas": [[19, "cmdcompactblas"]], "5.2 \u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[19, "id15"]], "gl_InstanceID": [[19, null]], "m_instances \u7684 inst.transform \u548c inst.objIndex": [[19, null]], "getBlasDeviceAddress(uint32_t blasId)": [[19, null]], "5.2.1 \u5e2e\u52a9\u7c7b\u7ec6\u8282\uff1aRaytracingBuilder::buildTlas()": [[19, "raytracingbuilder-buildtlas"]], "\u63d2\u5165\u4e00\u4e2a\u6805\u680f\u7528\u4e8e\u786e\u4fdd\u5728\u5f00\u59cb\u6784\u5efa\u52a0\u901f\u7ed3\u6784\u4e4b\u524d\u5b9e\u4f53\u6570\u636e\u7684\u7f13\u5b58\u62f7\u8d1d\u5df2\u7ecf\u5b8c\u6210": [[19, null]], "\u8be5\u52a0\u901f\u7ed3\u6784\u7528\u4e8e\u8868\u793a\u4e00\u4e2a\u5305\u542b\u5f88\u591a\u5b9e\u4f53\u7684\u51e0\u4f55\u4f53": [[19, null]], "\u6211\u4eec\u9700\u8981\u5c06\u5b9e\u4f53\u6570\u636e\u653e\u5165\u8054\u5408\u4f53\u4e2d\u5e76\u6307\u5b9a\u8be5\u6570\u636e\u4e3a\u5b9e\u4f53\u6570\u636e": [[19, null]], "5.3 main": [[19, "id18"]], "6 \u5149\u7ebf\u8ffd\u8e2a\u63cf\u8ff0\u7b26\u96c6\uff08Descriptor Set\uff09": [[19, "descriptor-set"]], "\u79bb\u5c4f\u8f93\u51fa": [[19, null]], "6.1 \u589e\u52a0\u573a\u666f\u7684\u63cf\u8ff0\u7b26\u96c6": [[19, "additions-to-the-scene-descriptor-set"]], "\u7f13\u5b58\u6570\u7ec4": [[19, null]], "6.2 \u63cf\u8ff0\u7b26\u66f4\u65b0": [[19, "id20"]], "6.3 main": [[19, "id21"]], "7 \u5149\u7ebf\u8ffd\u8e2a\u7ba1\u7ebf": [[19, "id22"]], "\u5149\u8ffd\u8d1f\u8f7d": [[19, null]], "SM": [[19, null]], "\u8d28\u5fc3\u5750\u6807\u4e0e\u4ea4\u70b9\u5750\u6807": [[19, null]], "\u5019\u9009\u4ea4\u70b9": [[19, null]], "7.1 \u589e\u52a0\u7740\u8272\u5668": [[19, "id23"]], "\u4e0b\u8f7d\u5149\u7ebf\u8ffd\u8e2a\u7740\u8272\u5668": [[19, null]], "\u7740\u8272\u5668\u4e0b\u8f7d": [[19, null]], "\u5e38\u91cf\u63a8\u9001": [[19, null]], "7.2 main": [[19, "id24"]], "8 \u7740\u8272\u5668\u7ed1\u5b9a\u8868": [[19, "id25"]], "\u968f\u7b14": [[19, null], [42, null]], "8.1 \u53e5\u67c4": [[19, "id27"]], "\u5185\u5b58\u5927\u5c0f\u548c\u5bf9\u9f50": [[19, null]], "\u7279\u4f8b": [[19, null]], "pRayGenShaderBindingTable": [[19, null]], "\u5176\u503c\u5e94\u8be5\u4e3a 0": [[19, null]], "NSight": [[19, null]], "\u5728 host \u7aef\u662f\u53ef\u8bbf\u95ee": [[19, null]], "\u7740\u8272\u5668\u987a\u5e8f": [[19, null]], "\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u5c01\u88c5": [[19, null]], "8.2 main": [[19, "id28"]], "9 \u5149\u7ebf\u8ffd\u8e2a": [[19, "id29"]], "\u9009\u62e9\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668": [[19, null]], "SBTWrapper": [[19, null]], "10 \u5f00\u59cb\u8ffd\u8e2a": [[19, "id30"]], "10.1 main": [[19, "id31"]], "11 \u76f8\u673a\u77e9\u9635": [[19, "id32"]], "11.1 \u5149\u7ebf\u751f\u6210\uff08 raytrace.rgen \uff09": [[19, "raytrace-rgen"]], "Binding": [[19, null]], "rayPayloadEXT \u7684 locations": [[19, null]], "rayPayloadInEXT \u7684 locations": [[19, null]], "11.2 \u672a\u547d\u4e2d\u7740\u8272\u5668\uff08raytrace.miss\uff09": [[19, "raytrace-miss"]], "12 \u7b80\u5355\u5149\u7167": [[19, "id33"]], "\u53ef\u8bbf\u95ee\u8303\u56f4\u6269\u5c55\u81f3\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[19, null]], "12.1 \u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668\uff08raytrace.rchit\uff09": [[19, "raytrace-rchit"]], "13 \u7b80\u5355\u6750\u8d28": [[19, "id34"]], "Alias Wavefront": [[19, null]], "13.1 raytrace.rchit": [[19, "id35"]], "\u5b9a\u4e49\u5728 wavefront.glsl \u4e2d": [[19, null]], "13.2 main": [[19, "id36"]], "14 \u9634\u5f71": [[19, "id37"]], "14.1 createRaytracingPipeline": [[19, "createraytracingpipeline"]], "Download Shadow Shader": [[19, null]], "\u8d44\u6e90\u9650\u5236": [[19, null]], "14.2 createRtShaderBindingTable": [[19, "creatertshaderbindingtable"]], "14.3 createRtDescriptorSet": [[19, "creatertdescriptorset"]], "14.4 raytrace.rchit": [[19, "id38"]], "15 \u62d3\u5c55\u5ef6\u4f38": [[19, "id39"]], "\u52a8\u6001\u66f4\u65b0": [[20, "id1"]], "\u6559\u7a0b": [[20, "id8"], [21, "id4"], [22, "id4"], [23, "id4"], [24, "id4"], [25, "id4"], [26, "id6"], [27, "id4"], [28, "id7"], [29, "id3"]], "\u66f4\u65b0\u53d8\u6362\u77e9\u9635": [[20, "id9"]], "\u521b\u5efa\u4e00\u4e2a\u573a\u666f": [[20, "id10"]], "\u66f4\u65b0\u51fd\u6570": [[20, "id11"]], "\u5faa\u73af\u66f4\u65b0\u51fd\u6570": [[20, "id12"]], "\u66f4\u65b0\u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[20, "id13"]], "nvvk::RaytracingBuilder::buildTlas \uff08\u5b9e\u73b0\uff09": [[20, "nvvk-raytracingbuilder-buildtlas"]], "\u66f4\u65b0\u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[20, "id14"]], "\u589e\u52a0\u4e00\u4e2a\u7403\u4f53": [[20, "id15"]], "\u8ba1\u7b97\u7740\u8272\u5668": [[20, "id16"]], "anim.comp": [[20, "anim-comp"]], "\u66f4\u65b0\u7269\u4f53": [[20, "id17"]], "\u6267\u884c\u66f4\u65b0": [[20, "id18"]], "\u5e95\u5c42\u52a0\u901f\u7ed3\u6784\u7684\u66f4\u65b0": [[20, "id19"]], "\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\uff08Any Hit Shaders\uff09\u6559\u7a0b": [[21, "any-hit-shaders"]], "\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668": [[21, "id7"]], "\u8d1f\u8f7d": [[21, "id9"]], "\u5c06\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\u52a0\u5165\u5149\u8ffd\u7ba1\u7ebf\u4e2d": [[21, "id10"]], "\u914d\u7f6e\u4efb\u610f\u547d\u4e2d\u7740\u8272\u5668\u4e2d\u8bbf\u95ee\u7684\u7f13\u5b58": [[21, "id11"]], "\u4e0d\u900f\u660e\u6807\u5fd7\u4f4d": [[21, "id12"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668": [[21, "id13"], [29, "id21"]], "\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[21, "id15"], [29, "id22"]], "\u573a\u666f\u548c\u6a21\u578b": [[21, "id16"]], "OBJ \u6750\u8d28": [[21, "obj"]], "\u7d2f\u79ef": [[21, "id17"]], "\u4fee\u6b63\u7ba1\u7ebf": [[21, "id22"]], "\u65b0\u7740\u8272\u5668": [[21, "id23"]], "\u65b0\u8d1f\u8f7d": [[21, "id24"]], "traceRayEXT": [[21, "tracerayext"]], "\u5149\u8ffd\u7ba1\u7ebf": [[21, "id25"], [32, "id4"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668": [[22, "id1"], [22, "id9"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u4f7f\u7528\u8303\u56f4": [[22, null]], "\u6570\u636e\u5b58\u50a8": [[22, "id5"]], "\u6267\u884c": [[22, "id6"]], "\u53ef\u8c03\u7528\u7740\u8272\u5668\u52a0\u5165\u7740\u8272\u5668\u7ed1\u5b9a\u8868\u4e2d": [[22, "id7"]], "\u521b\u5efa\u53ef\u8c03\u7528\u7740\u8272\u5668": [[22, "id8"]], "\u8c03\u7528\u53ef\u8c03\u7528\u7740\u8272\u5668": [[22, "id11"]], "DONT_USE_CALLABLE": [[22, null]], "\u5b9e\u4f8b\u5316": [[23, "id1"]], "\u591a\u5b9e\u4f8b": [[23, "id6"]], "\u6ce8\u89e3": [[23, null], [23, null]], "\u591a\u7269\u4f53": [[23, "id7"]], "\u8bbe\u5907\u5185\u5b58\u5206\u914d\u5668 \uff08DMA\uff09": [[23, "dma"]], "hello_vulkan.h": [[23, "hello-vulkan-h"], [23, "id9"], [26, "hello-vulkan-h"], [26, "id10"]], "hello_vulkan.cpp": [[23, "hello-vulkan-cpp"], [23, "id10"], [26, "hello-vulkan-cpp"]], "\u7ed3\u679c": [[23, "id8"]], "VMA \uff1aVulkan \u5185\u5b58\u5206\u914d\u5668": [[23, "vma-vulkan"]], "\u76f8\u4ea4\u7740\u8272\u5668": [[24, "id1"], [24, "id12"]], "\u4e0a\u5c42\u5b9e\u73b0": [[24, "id5"]], "\u521b\u5efa\u6240\u6709\u9690\u5f0f\u5bf9\u8c61": [[24, "id6"]], "\u76d2\u4f53": [[24, null]], "\u5e03\u7f6e\u573a\u666f": [[24, "id7"], [26, "id7"], [28, "id9"]], "\u63cf\u8ff0\u7b26": [[24, "id11"]], "raytrace.rint": [[24, "raytrace-rint"]], "\u5149\u7ebf\u4e0e\u7403\u4f53\u6c42\u4ea4": [[24, "id13"]], "\u5149\u7ebf\u4e0e\u8f74\u5bf9\u9f50\u5305\u56f4\u76d2\u6c42\u4ea4": [[24, "id14"]], "raytrace2.rchit": [[24, "raytrace2-rchit"], [26, "raytrace2-rchit"], [26, "id11"]], "\u76f8\u673a\u6296\u52a8\u6297\u952f\u9f7f\u6559\u7a0b": [[25, "id1"]], "\u968f\u673a\u51fd\u6570": [[25, "id6"]], "\u5e27\u5e8f": [[25, "id7"]], "\u968f\u673a\u5e76\u6296\u52a8": [[25, "id8"]], "\u5b58\u50a8\u6216\u66f4\u65b0": [[25, "id9"]], "\u66f4\u65b0\u5e94\u7528\u5e27": [[25, "id10"]], "\u5f53 UI \u53d1\u751f\u53d8\u5316\u65f6\u5e27\u91cd\u7f6e": [[25, "ui"]], "\u54c1\u8d28": [[25, "id11"]], "\u5149\u7ebf\u751f\u6210\u7740\u8272\u5668\u4e2d\u7684\u591a\u91c7\u6837": [[25, "id12"]], "\u591a\u91cd\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[26, "id1"]], "\u589e\u52a0\u4e00\u4e2a\u65b0\u7684\u6700\u8fd1\u547d\u4e2d\u7740\u8272\u5668": [[26, "id8"]], "createRtPipeline": [[26, "creatertpipeline"]], "raytrace.rgen": [[26, "raytrace-rgen"], [28, "raytrace-rgen"], [28, "id14"]], "\u9009\u62e9\u547d\u4e2d\u7740\u8272\u5668": [[26, "id9"]], "\u7740\u8272\u5668\u8bb0\u5f55\u6570\u636e shaderRecordKHR": [[26, "shaderrecordkhr"]], "main.cpp": [[26, "main-cpp"], [26, "id14"]], "HelloVulkan::createRtShaderBindingTable": [[26, "hellovulkan-creatertshaderbindingtable"]], "\u5149\u7ebf\u8ffd\u8e2a": [[26, "id12"], [31, "id1"]], "\u547d\u4e2d\u5ef6\u4f38": [[26, "id13"]], "createRtShaderBindingTable": [[26, "creatertshaderbindingtable"]], "\u5149\u7ebf\u67e5\u8be2": [[27, "id1"], [32, "id5"]], "\u6e05\u9664": [[27, "id5"]], "hello_vulkan (\u5934\u6587\u4ef6)": [[27, "hello-vulkan"]], "hello_vulkan (\u6e90\u6587\u4ef6)": [[27, "id6"]], "\u7740\u8272\u5668": [[27, "id7"], [29, "id13"]], "\u6fc0\u6d3b\u6269\u5c55": [[27, "id8"]], "\u7247\u5143\u7740\u8272\u5668\u76f8\u5173\u914d\u7f6e": [[27, "id9"]], "\u7247\u5143\u7740\u8272\u5668": [[27, "id10"]], "\u53cd\u5c04": [[28, "id1"]], "\u9012\u5f52\u53cd\u5c04": [[28, "id10"]], "raycommon.glsl": [[28, "raycommon-glsl"], [28, "id13"]], "raytrace.rchit": [[28, "raytrace-rchit"], [28, "id15"]], "raytrace.rmiss": [[28, "raytrace-rmiss"], [28, "id16"]], "\u53ef\u8fd0\u884c\uff0c\u4f46\u6709\u9650\u5236": [[28, "id11"]], "\u8fed\u4ee3\u53cd\u5c04": [[28, "id12"]], "\u6700\u5927\u9012\u5f52": [[28, "id17"]], "\u63a7\u5236\u9012\u5f52\u6df1\u5ea6": [[28, "id18"]], "glTF \u573a\u666f": [[29, "gltf"]], "\u573a\u666f\u6570\u636e": [[29, "id4"]], "\u52a0\u8f7d glTF \u573a\u666f": [[29, "id6"]], "\u52a0\u8f7d\u573a\u666f": [[29, "id7"]], "std::vector primLookup": [[29, null]], "NAME_VK": [[29, null]], "\u51e0\u4f55\u4f53\u8f6c\u5e95\u5c42\u52a0\u901f\u7ed3\u6784": [[29, "id8"]], "\u521b\u5efa\u9876\u5c42\u52a0\u901f\u7ed3\u6784": [[29, "id9"]], "m_gltfScene.m_nodes": [[29, null]], "\u5149\u6805\u5316\u6e32\u67d3": [[29, "id10"]], "\u5149\u7ebf\u8ffd\u8e2a\u4fee\u6539": [[29, "id11"]], "\u63cf\u8ff0\u7b26\u548c\u7ba1\u7ebf\u4fee\u6539": [[29, "id12"]], "\u5176\u4ed6\u6539\u53d8": [[29, "id14"]], "\u76f8\u673a\u4f4d\u7f6e": [[29, "id15"]], "\u573a\u666f": [[29, "id16"]], "\u5149\u6e90\u4f4d\u7f6e": [[29, "id17"]], "\u7b80\u5355\u8def\u5f84\uff08\u5149\u7ebf\uff09\u8ffd\u8e2a": [[29, "id18"]], "\u79ef\u7d2f\u91c7\u6837\uff08\u964d\u566a\uff09": [[29, null]], "depth": [[29, null]], "createCoordinateSystem": [[29, "createcoordinatesystem"]], "samplingHemisphere": [[29, "samplinghemisphere"]], "\u672a\u547d\u4e2d\u7740\u8272\u5668": [[29, "id23"]], "\u5feb\u901f\u5149\u7ebf\u8ffd\u8e2a": [[29, "id24"]], "\u6700\u8fd1\u547d\u4e2d": [[29, "id26"]], "\u5149\u7ebf\u751f\u6210": [[29, "id27"]], "prd.depth < 10": [[29, null]], "hitValue": [[29, null]], "RTX \u7740\u8272\u5668\u7ed1\u5b9a\u8868\u7684\u4e09\u79cd\u65b9\u5f0f": [[30, "rtx"]], "VK_KHR_ray_query": [[31, "id5"]], "VK_KHR_pipeline_library": [[31, "id6"]], "\u5f53\u524d\u4ec5\u4ec5\u63d0\u4f9b\u4e86 VK_KHR_ray_tracing_pipeline \u7684\u4f8b\u5b50": [[31, null]], "\u5149\u8ffd\u6700\u4f73\u5b9e\u8df5": [[31, "id9"]], "\u6700\u5c0f\u5316\u5e76\u884c\u8bbf\u95ee\u5149\u7ebf\u67e5\u8be2\u5bf9\u8c61\u7684\u7ebf\u7a0b\u6570\u91cf": [[31, "id10"]], "\u6700\u5c0f\u5316\u5149\u7ebf\u3001\u51fb\u4e2d\u5c5e\u6027\u548c\u53ef\u8c03\u7528\u6570\u636e\u5927\u5c0f": [[31, "id11"]], "\u591a\u7528\u8bbe\u5907\u672c\u5730\u7684\u5185\u5b58": [[31, "id12"]], "\u8bbe\u5907\u672c\u5730\u7684\u5185\u5b58": [[31, null]], "Vulkan \u5149\u7ebf\u8ffd\u8e2a\u6700\u7ec8\u6807\u51c6\u53d1\u5e03": [[32, "vulkan"]], "\u5386\u53f2\u56de\u987e": [[32, "id1"]], "\u5149\u8ffd\u6807\u51c6": [[32, "id2"]], "\u6269\u5c55\u7ed3\u6784": [[32, "id3"]], "\u52a0\u901f\u7ed3\u6784\uff08Acceleration Structures\uff09": [[32, "acceleration-structures"]], "Host\u7aef\u7684\u5ef6\u8fdf\u64cd\u4f5c\uff08Deferred Host Operations\uff09": [[32, "host-deferred-host-operations"]], "\u6b63\u8def\u5728\u6b64": [[32, "id6"]], "\u52a0\u901f\u7ed3\u6784\u7684\u521b\u5efa": [[32, "id7"]], "\u8d44\u6e90\u4f7f\u7528\u548c\u540c\u6b65": [[32, "id8"]], "\u7ed3\u8bba\u548c\u8d44\u6e90": [[32, "id9"]], "\u6587\u732e": [[33, "id1"]], "Vulkan\u8ff7\u4f60\u8def\u5f84\u8ffd\u8e2a": [[34, "vulkan"]], "\u903b\u8f91\u8bbe\u5907": [[35, "id1"], [37, "id15"]], "\u521b\u5efa\u903b\u8f91\u8bbe\u5907": [[35, "id3"], [37, "id16"]], "vkCreateDevice": [[35, "vkcreatedevice"], [37, "vkcreatedevice"]], "VkDeviceCreateInfo": [[35, "vkdevicecreateinfo"], [37, "vkdevicecreateinfo"]], "VkDeviceQueueCreateInfo": [[35, "vkdevicequeuecreateinfo"], [37, "vkdevicequeuecreateinfo"]], "VkDeviceQueueCreateInfo::flags": [[35, null]], "\u9965\u997f": [[35, null]], "\u8bbe\u5907\u6269\u5c55": [[35, "id5"]], "vkEnumerateDeviceExtensionProperties": [[35, "vkenumeratedeviceextensionproperties"]], "\u6709\u4e00\u4e9b\u8bbe\u5907\u6269\u5c55\u6211\u4eec\u9700\u8981\u91cd\u70b9\u5173\u6ce8\u4e00\u4e0b": [[35, null]], "\u786c\u4ef6\u5b9e\u65f6\u5149\u8ffd": [[35, null]], "\u8bbe\u5907\u7279\u6027": [[35, "id6"]], "vkGetPhysicalDeviceFeatures": [[35, "vkgetphysicaldevicefeatures"]], "VkPhysicalDeviceFeatures": [[35, "vkphysicaldevicefeatures"]], "\u6269\u5c55\u548c\u7279\u6027": [[35, null]], "\u9500\u6bc1\u903b\u8f91\u8bbe\u5907": [[35, "id8"]], "vkDestroyDevice": [[35, "vkdestroydevice"]], "\u83b7\u53d6\u8bbe\u5907\u961f\u5217": [[35, "id10"], [37, "id17"]], "\u5185\u5b58": [[36, "id1"], [37, "memory"]], "\u53e5\u67c4\u5bf9\u8c61\u7684\u5185\u5b58\u5206\u914d\u5668": [[36, "id2"]], "PFN_vkAllocationFunction": [[36, "pfn-vkallocationfunction"]], "\u5185\u5b58\u5bf9\u9f50": [[36, null]], "\u7b97\u6cd5\u8bf4\u660e": [[36, null], [36, null], [36, null]], "PFN_vkReallocationFunction": [[36, "pfn-vkreallocationfunction"]], "PFN_vkFreeFunction": [[36, "pfn-vkfreefunction"]], "PFN_vkInternalAllocationNotification": [[36, "pfn-vkinternalallocationnotification"]], "PFN_vkInternalFreeNotification": [[36, "pfn-vkinternalfreenotification"]], "VkSystemAllocationScope": [[36, "vksystemallocationscope"]], "VkInternalAllocationType": [[36, "vkinternalallocationtype"]], "\u8bbe\u5907\u5185\u5b58": [[36, "id6"]], "vkGetPhysicalDeviceMemoryProperties": [[36, "vkgetphysicaldevicememoryproperties"], [37, "vkgetphysicaldevicememoryproperties"]], "VkPhysicalDeviceMemoryProperties": [[36, "vkphysicaldevicememoryproperties"], [37, "vkphysicaldevicememoryproperties"]], "VK_MAX_MEMORY_TYPES \u548c VK_MAX_MEMORY_HEAPS": [[36, null]], "\u5185\u5b58\u5806": [[36, null]], "VkMemoryHeap": [[36, "vkmemoryheap"], [37, "vkmemoryheap"]], "VkMemoryHeapFlagBits": [[36, "vkmemoryheapflagbits"], [37, "vkmemoryheapflagbits"]], "VkMemoryType": [[36, "vkmemorytype"], [37, "vkmemorytype"]], "VkMemoryPropertyFlagBits": [[36, "vkmemorypropertyflagbits"], [37, "vkmemorypropertyflagbits"]], "\u5185\u5b58\u540c\u6b65": [[36, null], [36, "memory-sync"]], "\u60f0\u6027\u5185\u5b58": [[36, null]], "\u5185\u5b58\u5206\u914d": [[36, "id7"]], "vkAllocateMemory": [[36, "vkallocatememory"]], "VkMemoryAllocateInfo": [[36, "vkmemoryallocateinfo"], [37, "vkmemoryallocateinfo"]], "\u5185\u5b58\u56de\u6536": [[36, "id9"]], "vkFreeMemory": [[36, "vkfreememory"], [37, "vkfreememory"]], "\u5185\u5b58\u6620\u5c04": [[36, "id11"], [37, null]], "vkMapMemory": [[36, "vkmapmemory"], [37, "vkmapmemory"]], "VkMemoryMapFlags": [[36, null]], "\u865a\u62df\u5730\u5740": [[36, null]], "\u865a\u62df\u5185\u5b58": [[36, null]], "ppData": [[36, null]], "\u5185\u5b58\u89e3\u6620\u5c04": [[36, "id13"]], "vkUnmapMemory": [[36, "vkunmapmemory"], [37, "vkunmapmemory"]], "\u865a\u62df\u5185\u5b58\u540c\u6b65\u5230\u8bbe\u5907\u5185\u5b58": [[36, "id16"], [36, "id19"]], "vkFlushMappedMemoryRanges": [[36, "vkflushmappedmemoryranges"]], "\u8bbe\u5907\u5185\u5b58\u540c\u6b65\u5230\u865a\u62df\u5185\u5b58": [[36, "id17"], [36, "id20"]], "\u8bbe\u5907\u5185\u5b58\u6570\u636e\u4fee\u6539": [[36, null]], "vkInvalidateMappedMemoryRanges": [[36, "vkinvalidatemappedmemoryranges"]], "VkMappedMemoryRange": [[36, "vkmappedmemoryrange"]], "\u7eb5\u89c8": [[37, "id1"]], "\u7bc7\u5e45": [[37, null]], "Vulkan \u80fd\u4e3a\u6211\u4eec\u505a\u4ec0\u4e48": [[37, "vulkan"]], "Vulkan \u7684\u53e5\u67c4": [[37, "id3"]], "Dispatchable": [[37, "dispatchable"]], "Non-dispatchable": [[37, "non-dispatchable"]], "\u53e5\u67c4\u7684\u4f7f\u7528": [[37, "id4"]], "\u53e5\u67c4\u521d\u59cb\u5316": [[37, "id5"]], "Vulkan \u7684\u63a5\u53e3": [[37, "id6"]], "\u83b7\u53d6 Vulkan \u63a5\u53e3": [[37, "id7"]], "\u52a0\u8f7d Vulkan \u52a8\u6001\u5e93": [[37, "id8"]], "Vulkan \u7684\u52a8\u6001\u5e93": [[37, null]], "Vulkan \u7684\u9759\u6001\u5e93": [[37, null]], "Vulkan \u51fd\u6570\u5206\u7c7b": [[37, "id9"]], "PhysicalDevice \u57df\u51fd\u6570\u7279\u6b8a\u6027": [[37, null]], "vkGetInstanceProcAddr \u548c Device \u57df\u51fd\u6570": [[37, null]], "vkGetInstanceProcAddr": [[37, "vkgetinstanceprocaddr"]], "\u83b7\u53d6\u5168\u5c40\u51fd\u6570": [[37, null]], "PFN_{\u51fd\u6570\u540d}": [[37, null]], "PFN_vkVoidFunction \u4e0e vkGetInstanceProcAddr": [[37, null]], "VK_NULL_HANDLE": [[37, null]], "\u53e5\u67c4": [[37, null]], "Vulkan \u6700\u521d\u4e4b\u7269 VkInstance": [[37, "vulkan-vkinstance"]], "Vulkan \u4e2d\u7684\u53e5\u67c4": [[37, null]], "pAllocator": [[37, null]], "VK_SUCCESS": [[37, null]], "sType \u4e0e pNext": [[37, null]], "VkInstanceCreateFlags": [[37, "vkinstancecreateflags"]], "VkFlags \u4e0e \u4f4d\u57df": [[37, null]], "\u73b0\u5728\u6211\u4eec\u9762\u4e34\u4e00\u4e2a\u95ee\u9898": [[37, null]], "\u83b7\u53d6\u652f\u6301\u7684 Vulkan \u7248\u672c": [[37, "id10"]], "\u786c\u4ef6\u8bbe\u5907\u7684 Layer": [[37, null]], "\u83b7\u53d6\u7269\u7406\u786c\u4ef6\u8bbe\u5907": [[37, "id11"]], "vkEnumeratePhysicalDevices": [[37, "vkenumeratephysicaldevices"], [38, "vkenumeratephysicaldevices"]], "\u83b7\u53d6\u7269\u7406\u8bbe\u5907\u5c5e\u6027": [[37, "id12"]], "vkGetPhysicalDeviceProperties": [[37, "vkgetphysicaldeviceproperties"], [38, "vkgetphysicaldeviceproperties"], [41, null]], "VkPhysicalDeviceProperties": [[37, "vkphysicaldeviceproperties"], [38, "vkphysicaldeviceproperties"]], "\u7a00\u758f": [[37, null]], "VkPhysicalDeviceType": [[37, "vkphysicaldevicetype"], [38, "vkphysicaldevicetype"]], "VK_PHYSICAL_DEVICE_TYPE_CPU": [[37, null]], "\u8bbe\u5907\u961f\u5217\u548c\u529f\u80fd\u57df": [[37, null]], "\u83b7\u53d6\u8bbe\u5907\u961f\u5217\uff08\u65cf\uff09\u4fe1\u606f": [[37, "id14"]], "\u961f\u5217\u65cf": [[37, null]], "VkQueueFlags": [[37, "vkqueueflags"]], "VkQueueFlagBits": [[37, "vkqueueflagbits"]], "VK_QUEUE_GRAPHICS_BIT": [[37, null]], "\u83b7\u53d6 Device \u57df\u51fd\u6570": [[37, "device"]], "vkGetDeviceProcAddr": [[37, "vkgetdeviceprocaddr"]], "vkGetDeviceQueue": [[37, "vkgetdevicequeue"]], "\u5185\u5b58\u5206\u7c7b": [[37, "id19"]], "const VkAllocationCallbacks* pAllocator": [[37, null], [37, null]], "\u65e2\u7136\u6570\u636e\u5728 Host \u7aef\u4e0e Device \u7aef\u90fd\u53ef\u4ee5\u8bbf\u95ee\u7684\u5185\u5b58\u4e2d\uff0c\u4e3a\u4ec0\u4e48\u8fd8\u9700\u8981\u62f7\u8d1d\u81f3 Device \u7aef\u4e2d\uff1f": [[37, null]], "Vulkan \u5185\u5b58": [[37, null]], "\u83b7\u53d6 Vulkan \u652f\u6301\u7684\u5185\u5b58\u4fe1\u606f": [[37, "id20"]], "\u5237\u65b0 \u548c \u5931\u6548 \u64cd\u4f5c": [[37, null]], "VkMemoryHeap \u4e0e \u5806": [[37, null]], "VkDeviceSize": [[37, "vkdevicesize"]], "VkPhysicalDeviceMemoryProperties \u7ed3\u6784\u56fe": [[37, "id21"]], "VkAllocationCallbacks \u4e0e vk[Allocate/Free]Memory": [[37, null]], "\u5206\u914d\u5185\u5b58": [[37, "id23"]], "\u56de\u6536\u5185\u5b58": [[37, "id25"]], "\u8d44\u6e90": [[37, "id26"], [39, "id1"]], "\u7f13\u5b58": [[37, "id27"]], "vkCreateBuffer": [[37, "vkcreatebuffer"], [39, "vkcreatebuffer"]], "VkBufferCreateInfo": [[37, "vkbuffercreateinfo"], [39, "vkbuffercreateinfo"]], "VkBufferUsageFlags": [[37, "vkbufferusageflags"]], "\u5176\u4ed6 VK_BUFFER_USAGE_*_BUFFER_BIT": [[37, null]], "VkSharingMode": [[37, "vksharingmode"], [39, "vksharingmode"]], "VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT": [[37, null]], "\u56fe\u7247": [[37, "image"]], "vkCreateImage": [[37, "vkcreateimage"], [39, "vkcreateimage"]], "VkImageCreateInfo": [[37, "vkimagecreateinfo"], [39, "vkimagecreateinfo"]], "VkImageType": [[37, "vkimagetype"], [39, "vkimagetype"]], "VkFormat": [[37, "vkformat"]], "VkExtent3D": [[37, "vkextent3d"], [39, "vkextent3d"]], "VkSampleCountFlagBits": [[37, "vksamplecountflagbits"]], "VkImageTiling": [[37, "vkimagetiling"]], "VkImageUsageFlags": [[37, "vkimageusageflags"]], "VK_IMAGE_USAGE_TRANSFER_SRC_BIT \u548c VK_IMAGE_USAGE_TRANSFER_DST_BIT": [[37, null]], "VkImageLayout": [[37, "vkimagelayout"]], "VkImageCreateInfo \u5176\u4ed6\u53c2\u6570\u548c\u7efc\u8ff0": [[37, "id29"]], "\u7efc\u8ff0": [[37, "id30"]], "\u56fe\u7247\u89c6\u56fe": [[37, "id31"]], "vkCreateImageView": [[37, "vkcreateimageview"]], "VkImageViewCreateInfo": [[37, "vkimageviewcreateinfo"]], "VkImageViewType": [[37, "vkimageviewtype"]], "VkComponentMapping": [[37, "vkcomponentmapping"]], "VkComponentSwizzle": [[37, "vkcomponentswizzle"]], "VkImageSubresourceRange": [[37, "vkimagesubresourcerange"]], "VkImageAspectFlags": [[37, "vkimageaspectflags"]], "\u6df1\u5ea6\u548c\u6a21\u677f": [[37, null]], "\u7a00\u758f\u8d44\u6e90": [[37, null]], "\u89e3\u6790\u8303\u56f4": [[37, "id32"]], "\u8d44\u6e90\u4e0e\u5185\u5b58": [[37, "id33"], [40, "id1"]], "vkGetBufferMemoryRequirements": [[37, "vkgetbuffermemoryrequirements"]], "vkGetImageMemoryRequirements": [[37, "vkgetimagememoryrequirements"]], "VkMemoryRequirements": [[37, "vkmemoryrequirements"]], "memoryTypeBits": [[37, "memorytypebits"]], "VK_MAX_MEMORY_TYPES": [[37, null]], "\u8d44\u6e90\u4e0e\u5185\u5b58\u7684\u7ed1\u5b9a": [[37, "id34"]], "vkBindBufferMemory": [[37, "vkbindbuffermemory"]], "vkBindImageMemory": [[37, "vkbindimagememory"]], "\u6570\u636e\u4f20\u8f93": [[37, "id35"]], "\u901a\u8fc7CPU\u5411\u5185\u5b58\u4e2d\u4f20\u8f93\u6570\u636e": [[37, "cpu"]], "\u901a\u8fc7GPU\u5411\u5185\u5b58\u4e2d\u4f20\u8f93\u6570\u636e": [[37, "gpu"]], "\u6307\u4ee4\u7f13\u5b58": [[37, null], [37, "id37"]], "\u6307\u4ee4": [[37, "id36"]], "\u6c60": [[37, null]], "\u6307\u4ee4\u7f13\u5b58\u6c60": [[37, "id38"]], "vkCreateCommandPool": [[37, "vkcreatecommandpool"]], "VkCommandPoolCreateInfo": [[37, "vkcommandpoolcreateinfo"]], "VkCommandPoolCreateFlagBits": [[37, "vkcommandpoolcreateflagbits"]], "\u5206\u914d\u6307\u4ee4\u7f13\u5b58": [[37, "id39"]], "VkCommandBufferAllocateInfo": [[37, "vkcommandbufferallocateinfo"]], "VkCommandBufferLevel": [[37, "vkcommandbufferlevel"]], "\u4e3b\u3001\u6b21\u8981\u6307\u4ee4\u7f13\u5b58": [[37, null]], "\u5f00\u542f\u6307\u4ee4\u7f13\u5b58": [[37, "id40"]], "vkBeginCommandBuffer": [[37, "vkbegincommandbuffer"]], "VkCommandBufferBeginInfo": [[37, "vkcommandbufferbegininfo"]], "pInheritanceInfo": [[37, null]], "VkCommandBufferUsageFlags": [[37, "vkcommandbufferusageflags"]], "Render Pass": [[37, null]], "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT \u4e0e VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT": [[37, null]], "\u6307\u4ee4\u8bb0\u5f55": [[37, "id41"]], "\u7ed3\u675f\u6307\u4ee4\u7f13\u5b58": [[37, "id42"]], "vkEndCommandBuffer": [[37, "vkendcommandbuffer"]], "\u6307\u4ee4\u63a8\u9001": [[37, "id43"]], "vkQueueSubmit": [[37, "vkqueuesubmit"]], "\u6307\u4ee4\u7f13\u5b58\u6279\u6b21": [[37, null]], "VkFence": [[37, null]], "VkSubmitInfo": [[37, "vksubmitinfo"]], "VkSemaphore": [[37, null]], "\u7b49\u5f85\u6307\u4ee4\u7f13\u5b58\u6267\u884c\u5b8c\u6210": [[37, "id45"]], "vkDeviceWaitIdle": [[37, "vkdevicewaitidle"]], "vkQueueWaitIdle": [[37, "vkqueuewaitidle"]], "\u680f\u6805": [[37, "id46"]], "vkCreateFence": [[37, "vkcreatefence"]], "VkFenceCreateInfo": [[37, "vkfencecreateinfo"]], "VkFenceCreateFlags": [[37, "vkfencecreateflags"]], "\u7b49\u5f85\u680f\u6805": [[37, "id47"]], "vkWaitForFences": [[37, "vkwaitforfences"]], "\u7269\u7406\u8bbe\u5907": [[38, "id1"]], "\u83b7\u53d6\u7269\u7406\u8bbe\u5907\u4fe1\u606f": [[38, "id2"]], "VkPhysicalDeviceLimits": [[38, "vkphysicaldevicelimits"]], "VkPhysicalDeviceSparseProperties": [[38, "vkphysicaldevicesparseproperties"], [38, null]], "\u7f13\u5b58\u8d44\u6e90": [[39, "id2"]], "\u521b\u5efa\u7f13\u5b58": [[39, "id3"]], "VkBufferCreateFlags": [[39, null]], "\u7eb9\u7d20": [[39, null]], "\u89c4\u5219\u4e00": [[39, null]], "\u89c4\u5219\u4e8c": [[39, null]], "\u9500\u6bc1\u7f13\u5b58": [[39, "id5"]], "\u56fe\u7247\u8d44\u6e90": [[39, "id7"]], "\u521b\u5efa\u56fe\u7247": [[39, "id8"]], "\u5f00\u59cb\u4e8e Vulkan SDK": [[41, "vulkan-sdk"]], "\u5b89\u88c5 Vulkan SDK": [[41, "id2"]], "\u6c38\u4e45\u6027\u8bbe\u7f6e Vulkan SDK \u73af\u5883\u53d8\u91cf": [[41, null]], "\u9a8c\u8bc1\u5b89\u88c5": [[41, "id3"]], "SDK\u7684\u7248\u672c": [[41, "sdk"]], "Vulkan Loader": [[41, "vulkan-loader"]], "Vulkan\u7684\u7248\u672c": [[41, "vulkan"]], "Instance": [[41, null]], "Vulkan\u7684\u5934\u6587\u4ef6": [[41, "id5"]], "Vulkan\u7684\u5e93": [[41, "id6"]], "vulkan-1.lib": [[41, null]], "Vulkan SDK \u5185\u5bb9": [[41, "id8"]], "Bin \u548c Bin32": [[41, "bin-bin32"]], "SPIR-V": [[41, null]], "Include \u4e0e Lib \u548c Lib32": [[41, "include-lib-lib32"]], "Templates": [[41, "templates"]], "\u67e5\u770b Vulkan \u6240\u6709\u76f8\u5173\u4fe1\u606f": [[41, "id9"]], "Vulkan SDK \u6700\u4f73\u5b9e\u8df5": [[41, "id10"]], "\u4f7f\u7528 Vulkan \u52a8\u6001\u5e93": [[41, null]], "\u4e0d\u4f7f\u7528 Vulkan SDK": [[41, null]], "\u6b22\u8fce\u6765\u5230 Vulkan \u5165\u95e8\u7cbe\u8981": [[42, "vulkan"]], "\u5e8f\u8a00": [[42, "id1"]], "\u8d5e\u52a9 biohazard": [[42, null]], "\u5165\u95e8\u7cbe\u8981": [[42, null]], "\u6587\u732e\u7ffb\u8bd1": [[42, null]], "\u5de5\u7a0b\u5e94\u7528": [[42, null]], "Test": [[43, "test"]], "Math": [[43, "math"]], "This is a heading 2": [[43, "this-is-a-heading-2"]], "This is a heading 3": [[43, "this-is-a-heading-3"]], "This is a heading 4": [[43, "this-is-a-heading-4"]], "This is a heading 5": [[43, "this-is-a-heading-5"]], "This is a heading 6": [[43, "this-is-a-heading-6"]], "And, by the way\u2026": [[43, null]], "Topic Title": [[43, null]], "Optional Sidebar Title": [[43, null]], "Truth table for \u201cnot\u201d": [[43, "id8"]], "Frozen Delights!": [[43, "id9"], [43, "id10"]]}, "indexentries": {"myclass\uff08c++ class\uff09": [[43, "_CPPv47MyClass"]], "foo()\uff08\u5728 some.module.name \u6a21\u5757\u4e2d\uff09": [[43, "some.module.name.foo"]]}}) \ No newline at end of file