diff options
author | Patrick Mours <pmours@nvidia.com> | 2019-03-25 17:07:51 +0300 |
---|---|---|
committer | Patrick Mours <pmours@nvidia.com> | 2019-03-25 17:07:51 +0300 |
commit | aa1c72bc51adc0e7f4e01ee14a4278c47cad3398 (patch) | |
tree | 972d3b1666324408e44b9ff605180b66ac72e28d /shaders | |
parent | c74d7a412c97ab937a3959de088352ccc4be300e (diff) |
Add ray tracing test shaders
Slightly modified from https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#_sample_code_2
Diffstat (limited to 'shaders')
-rw-r--r-- | shaders/vulkan/rchit/ray_tracing.vk.rchit | 9 | ||||
-rw-r--r-- | shaders/vulkan/rgen/ray_tracing.vk.rgen | 16 | ||||
-rw-r--r-- | shaders/vulkan/rmiss/ray_tracing.vk.rmiss | 9 |
3 files changed, 34 insertions, 0 deletions
diff --git a/shaders/vulkan/rchit/ray_tracing.vk.rchit b/shaders/vulkan/rchit/ray_tracing.vk.rchit new file mode 100644 index 00000000..107f9751 --- /dev/null +++ b/shaders/vulkan/rchit/ray_tracing.vk.rchit @@ -0,0 +1,9 @@ +#version 460 +#extension GL_NV_ray_tracing : require + +layout(location = 0) rayPayloadInNV float payload; + +void main() +{ + payload = 1.0; +} diff --git a/shaders/vulkan/rgen/ray_tracing.vk.rgen b/shaders/vulkan/rgen/ray_tracing.vk.rgen new file mode 100644 index 00000000..c3d8398b --- /dev/null +++ b/shaders/vulkan/rgen/ray_tracing.vk.rgen @@ -0,0 +1,16 @@ +#version 460 +#extension GL_NV_ray_tracing : require + +layout(set = 0, binding = 0, rgba8) uniform image2D image; +layout(set = 0, binding = 1) uniform accelerationStructureNV as; +layout(location = 0) rayPayloadNV float payload; + +void main() +{ + vec4 col = vec4(0.0, 0.0, 0.0, 1.0); + vec3 origin = vec3(float(gl_LaunchIDNV.x) / float(gl_LaunchSizeNV.x), float(gl_LaunchIDNV.y) / float(gl_LaunchSizeNV.y), 1.0); + vec3 dir = vec3(0.0, 0.0, -1.0); + traceNV(as, 0u, 255u, 0u, 1u, 0u, origin, 0.0, dir, 1000.0, 0); + col.y = payload; + imageStore(image, ivec2(gl_LaunchIDNV.xy), col); +} diff --git a/shaders/vulkan/rmiss/ray_tracing.vk.rmiss b/shaders/vulkan/rmiss/ray_tracing.vk.rmiss new file mode 100644 index 00000000..ff438ce7 --- /dev/null +++ b/shaders/vulkan/rmiss/ray_tracing.vk.rmiss @@ -0,0 +1,9 @@ +#version 460 +#extension GL_NV_ray_tracing : require + +layout(location = 0) rayPayloadInNV float payload; + +void main() +{ + payload = 0.0; +} |