53 lines
2.1 KiB
Plaintext
53 lines
2.1 KiB
Plaintext
#version 460
|
|
#extension GL_EXT_ray_query : require
|
|
#extension GL_EXT_ray_flags_primitive_culling : require
|
|
#extension GL_EXT_ray_tracing : require
|
|
layout(primitive_culling);
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
layout(set = 0, binding = 1, std140) uniform Params
|
|
{
|
|
uint ray_flags;
|
|
uint cull_mask;
|
|
vec3 origin;
|
|
float tmin;
|
|
vec3 dir;
|
|
float tmax;
|
|
float thit;
|
|
uvec2 bda;
|
|
} _19;
|
|
|
|
layout(set = 0, binding = 0) uniform accelerationStructureEXT AS;
|
|
|
|
rayQueryEXT q;
|
|
rayQueryEXT q2[2];
|
|
|
|
void main()
|
|
{
|
|
rayQueryInitializeEXT(q, AS, _19.ray_flags, _19.cull_mask, _19.origin, _19.tmin, _19.dir, _19.tmax);
|
|
rayQueryInitializeEXT(q2[1], accelerationStructureEXT(_19.bda), _19.ray_flags, _19.cull_mask, _19.origin, _19.tmin, _19.dir, _19.tmax);
|
|
bool _67 = rayQueryProceedEXT(q);
|
|
rayQueryTerminateEXT(q2[0]);
|
|
rayQueryGenerateIntersectionEXT(q, _19.thit);
|
|
rayQueryConfirmIntersectionEXT(q2[1]);
|
|
float _75 = rayQueryGetRayTMinEXT(q);
|
|
uint _79 = rayQueryGetRayFlagsEXT(q2[0]);
|
|
vec3 _82 = rayQueryGetWorldRayDirectionEXT(q);
|
|
vec3 _83 = rayQueryGetWorldRayOriginEXT(q);
|
|
uint _86 = rayQueryGetIntersectionTypeEXT(q2[1], bool(1));
|
|
bool _88 = rayQueryGetIntersectionCandidateAABBOpaqueEXT(q2[1]);
|
|
float _91 = rayQueryGetIntersectionTEXT(q2[1], bool(0));
|
|
int _94 = rayQueryGetIntersectionInstanceCustomIndexEXT(q, bool(1));
|
|
int _96 = rayQueryGetIntersectionInstanceIdEXT(q2[0], bool(0));
|
|
uint _97 = rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT(q, bool(1));
|
|
int _99 = rayQueryGetIntersectionGeometryIndexEXT(q2[1], bool(0));
|
|
int _100 = rayQueryGetIntersectionPrimitiveIndexEXT(q, bool(1));
|
|
vec2 _103 = rayQueryGetIntersectionBarycentricsEXT(q2[0], bool(0));
|
|
bool _106 = rayQueryGetIntersectionFrontFaceEXT(q, bool(1));
|
|
vec3 _107 = rayQueryGetIntersectionObjectRayDirectionEXT(q, bool(0));
|
|
vec3 _109 = rayQueryGetIntersectionObjectRayOriginEXT(q2[0], bool(1));
|
|
mat4x3 _113 = rayQueryGetIntersectionObjectToWorldEXT(q, bool(0));
|
|
mat4x3 _115 = rayQueryGetIntersectionWorldToObjectEXT(q2[1], bool(1));
|
|
}
|
|
|