2020-03-18 00:42:47 +00:00
|
|
|
#version 460
|
|
|
|
#extension GL_EXT_ray_tracing : enable
|
2020-04-09 04:09:20 +00:00
|
|
|
#extension GL_EXT_ray_flags_primitive_culling : enable
|
2020-03-18 00:42:47 +00:00
|
|
|
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0;
|
|
|
|
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1; // Unused
|
|
|
|
layout(binding = 2, r32ui) shadercallcoherent uniform uimage2D imageu;
|
|
|
|
layout(location = 0) rayPayloadEXT vec4 payload;
|
|
|
|
layout(shaderRecordEXT) buffer block
|
|
|
|
{
|
|
|
|
vec3 dir;
|
|
|
|
vec3 origin;
|
|
|
|
|
|
|
|
};
|
2020-05-21 11:38:41 +00:00
|
|
|
layout(primitive_culling);
|
2020-03-18 00:42:47 +00:00
|
|
|
void main()
|
|
|
|
{
|
|
|
|
uint lx = gl_LaunchIDEXT.x;
|
|
|
|
uint ly = gl_LaunchIDEXT.y;
|
|
|
|
uint sx = gl_LaunchSizeEXT.x;
|
|
|
|
uint sy = gl_LaunchSizeEXT.y;
|
2020-04-09 04:09:20 +00:00
|
|
|
traceRayEXT(accEXT0, lx, ly, sx, sy, gl_RayFlagsSkipTrianglesEXT | gl_RayFlagsSkipAABBEXT, origin, 0.5f, dir, 0.75f, 1);
|
2020-03-18 00:42:47 +00:00
|
|
|
}
|