diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-05-20 15:51:45 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-05-20 16:07:47 +0300 |
commit | 66ec3e3e5416f98c3e60de8b9c8cd5bbc9d48958 (patch) | |
tree | 5c0db3b114ff592a6c55dcc4dfd81963690fe9b0 /reference/shaders | |
parent | 271ad33380cb8d2a146ed3f3ba2082b265bfabd9 (diff) |
GLSL: Support ray payloads and hit attributes declared as Block.
Diffstat (limited to 'reference/shaders')
-rw-r--r-- | reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk b/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk index c4ede241..5d6b24c6 100644 --- a/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk +++ b/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk @@ -7,9 +7,19 @@ struct Payload float b; }; +struct Block +{ + float a; + float b; + Payload c; + Payload d; +}; + layout(set = 0, binding = 1) uniform accelerationStructureNV as; layout(location = 1) rayPayloadNV Payload payload2; layout(location = 0) rayPayloadNV float payload1; +layout(location = 2) rayPayloadNV Block _71; +layout(set = 0, binding = 0, rgba8) uniform writeonly image2D image; vec4 trace_in_function() { @@ -30,5 +40,8 @@ void main() vec4 result = vec4(payload1); vec4 _62 = trace_in_function(); result += _62; + traceNV(as, 0u, 255u, 0u, 1u, 0u, origin, 0.0, direction, 1000.0, 2); + result += vec4(((((_71.a + _71.b) + _71.c.a) + _71.c.b) + _71.d.a) + _71.d.b); + imageStore(image, ivec2(gl_LaunchIDNV.xy), result); } |