blob: b4dc50e7c1e183ae2678089f5c4560a45224de24 [file] [edit]
// Covers accelerationStructureEXT as a resourceheap member used by ray queries.
#version 460
#extension GL_EXT_descriptor_heap : require
#extension GL_EXT_structured_descriptor_heap : require
#extension GL_EXT_ray_query : require
layout(local_size_x = 1) in;
layout(heap_offset = 4096) resourceheap RayHeap {
accelerationStructureEXT topLevelAs;
} rayHeap;
layout(binding = 0, std430) buffer Output {
uint values[2];
} outputBuffer;
void main()
{
rayQueryEXT rayQuery;
rayQueryInitializeEXT(rayQuery, rayHeap.topLevelAs, 0u, 0xFFu, vec3(0.0), 0.0, vec3(1.0, 0.0, 0.0), 1000.0);
outputBuffer.values[0] = rayQueryProceedEXT(rayQuery) ? 1u : 0u;
outputBuffer.values[1] = rayQueryGetRayFlagsEXT(rayQuery);
}