29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 460
 | |
| #extension GL_EXT_ray_tracing : enable
 | |
| #extension GL_NV_shader_sm_builtins : enable
 | |
| #extension GL_KHR_shader_subgroup_ballot : enable
 | |
| #extension GL_ARB_shader_ballot : enable
 | |
| #extension GL_NV_shader_sm_builtins : enable
 | |
| #extension GL_ARB_sparse_texture_clamp: enable
 | |
| 
 | |
| layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
 | |
| layout(location = 0) rayPayloadEXT vec4 localPayload;
 | |
| layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
 | |
| 
 | |
| layout(binding = 1, set = 0) uniform sampler2D    s2D;
 | |
| layout(location = 2) in vec2 c2;
 | |
| layout(location = 3) in float lodClamp;
 | |
| 
 | |
| void main()
 | |
| {
 | |
| 	uvec3 v0 = gl_LaunchIDEXT;
 | |
| 	uvec3 v1 = gl_LaunchSizeEXT;
 | |
| 	vec3 v2 = gl_WorldRayOriginEXT;
 | |
| 	vec3 v3 = gl_WorldRayDirectionEXT;
 | |
| 	float v4 = gl_RayTminEXT;
 | |
| 	float v5 = gl_RayTmaxEXT;
 | |
| 	traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
 | |
|     incomingPayload.x = float(gl_SubGroupSizeARB) + float(gl_SubgroupEqMask) + float(gl_WarpIDNV);
 | |
|         vec4 texel = textureGradOffsetClampARB(s2D, c2, c2, c2, ivec2(5), lodClamp);
 | |
| }
 | 
