SPIRV-Cross/shaders/vulkan/rgen/execute_callable.nocompat.khr.spv14.vk.rgen
Hans-Kristian Arntzen 2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing.
Fairly minor differences, so can keep them side by side without too much
effort. NV support is effectively deprecated now however.

- Add OpConvertUToAccelerationStructureKHR
- Ignore/Terminate ray is now a terminator in KHR, but a call in NV.
- Fix some bugs with reportIntersection.
2021-01-08 14:59:04 +01:00

17 lines
578 B
Plaintext

#version 460
#extension GL_EXT_ray_tracing : require
layout(set = 0, binding = 0) uniform accelerationStructureEXT as;
layout(set = 0, binding = 1, rgba32f) uniform writeonly image2D image;
layout(location = 3) rayPayloadEXT vec4 payload;
layout(location = 4) callableDataEXT float blend;
void main()
{
vec3 origin = vec3(0.0);
vec3 direction = vec3(0.0, 0.0, -1.0);
traceRayEXT(as, gl_RayFlagsOpaqueEXT, 0xFF, 0u, 0u, 0u, origin, 0.0, direction, 100.0f, 3);
executeCallableEXT(0u, 4);
imageStore(image, ivec2(gl_LaunchIDEXT.xy), payload + vec4(blend));
}