23 lines
		
	
	
		
			771 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			771 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#version 460
 | 
						|
#extension GL_EXT_ray_tracing : enable
 | 
						|
#extension GL_EXT_nonuniform_qualifier : enable
 | 
						|
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0[];
 | 
						|
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1[2];
 | 
						|
layout(location = 0) rayPayloadEXT vec4 payload;
 | 
						|
layout(shaderRecordEXT) buffer block
 | 
						|
{
 | 
						|
	vec3 dir;
 | 
						|
	vec3 origin;
 | 
						|
    int i;
 | 
						|
};
 | 
						|
void main()
 | 
						|
{
 | 
						|
    uint lx = gl_LaunchIDEXT.x;
 | 
						|
    uint ly = gl_LaunchIDEXT.y;
 | 
						|
    uint sx = gl_LaunchSizeEXT.x;
 | 
						|
    uint sy = gl_LaunchSizeEXT.y;
 | 
						|
    traceRayEXT(accEXT0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
 | 
						|
    traceRayEXT(accEXT1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
 | 
						|
    traceRayEXT(accEXT0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
 | 
						|
}
 |