yes
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
#!amber
|
||||
|
||||
DEVICE_EXTENSION VK_KHR_acceleration_structure
|
||||
DEVICE_EXTENSION VK_KHR_ray_tracing_pipeline
|
||||
DEVICE_EXTENSION VK_KHR_buffer_device_address
|
||||
DEVICE_FEATURE RayTracingPipelineFeaturesKHR.rayTracingPipeline
|
||||
DEVICE_FEATURE AccelerationStructureFeaturesKHR.accelerationStructure
|
||||
DEVICE_FEATURE BufferDeviceAddressFeatures.bufferDeviceAddress
|
||||
|
||||
SHADER ray_generation r1 GLSL
|
||||
#version 460 core
|
||||
#extension GL_EXT_ray_tracing : require
|
||||
layout(set = 0, binding = 0, r32i) uniform iimage2D result;
|
||||
|
||||
void main()
|
||||
{
|
||||
ivec2 p = ivec2(gl_LaunchIDEXT);
|
||||
ivec3 v = ivec3(gl_LaunchIDEXT);
|
||||
int r = v.x + 256 * (v.y + 256 * v.z) + 1;
|
||||
ivec4 c = ivec4(r,0,0,1);
|
||||
imageStore(result, p, c);
|
||||
}
|
||||
END
|
||||
|
||||
SHADER intersection i1 GLSL
|
||||
#version 460 core
|
||||
#extension GL_EXT_ray_tracing : require
|
||||
hitAttributeEXT vec3 hitAttribute;
|
||||
void main()
|
||||
{
|
||||
reportIntersectionEXT(0.95f, 0x7Eu);
|
||||
}
|
||||
END
|
||||
|
||||
SHADER miss m1 GLSL
|
||||
#version 460 core
|
||||
#extension GL_EXT_ray_tracing : require
|
||||
layout(location = 0) rayPayloadInEXT uvec4 hitValue;
|
||||
void main()
|
||||
{
|
||||
hitValue = uvec4(1,0,0,1);
|
||||
}
|
||||
END
|
||||
|
||||
SHADER closest_hit c1 GLSL
|
||||
#version 460 core
|
||||
#extension GL_EXT_ray_tracing : require
|
||||
hitAttributeEXT vec3 attribs;
|
||||
layout(location = 0) rayPayloadInEXT vec3 hitValue;
|
||||
void main()
|
||||
{
|
||||
}
|
||||
END
|
||||
|
||||
SHADER any_hit a1 GLSL
|
||||
#version 460 core
|
||||
#extension GL_EXT_ray_tracing : require
|
||||
hitAttributeEXT vec3 attribs;
|
||||
layout(location = 0) rayPayloadInEXT vec3 hitValue;
|
||||
void main()
|
||||
{
|
||||
}
|
||||
END
|
||||
|
||||
ACCELERATION_STRUCTURE BOTTOM_LEVEL blas1
|
||||
GEOMETRY AABBS
|
||||
0.0 0.0 -0.1 1.0 1.0 0.1
|
||||
END
|
||||
END
|
||||
|
||||
ACCELERATION_STRUCTURE BOTTOM_LEVEL blas2
|
||||
GEOMETRY TRIANGLES
|
||||
-1.0 1.0 0.1
|
||||
1.0 1.0 0.1
|
||||
-1.0 -1.0 0.1
|
||||
1.0 -1.0 0.1
|
||||
-1.0 -1.0 0.1
|
||||
1.0 1.0 0.1
|
||||
END
|
||||
END
|
||||
|
||||
ACCELERATION_STRUCTURE TOP_LEVEL tlas1
|
||||
BOTTOM_LEVEL_INSTANCE blas2
|
||||
END
|
||||
END
|
||||
|
||||
IMAGE img1 FORMAT R32_SINT DIM_2D WIDTH 2 HEIGHT 2 FILL 0
|
||||
|
||||
PIPELINE raytracing my_rtpipeline
|
||||
BIND BUFFER img1 AS storage_image DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND ACCELERATION_STRUCTURE tlas1 DESCRIPTOR_SET 0 BINDING 1
|
||||
SHADER_GROUP g1 r1
|
||||
SHADER_GROUP g2 m1
|
||||
SHADER_GROUP g3 a1 c1 i1
|
||||
|
||||
SHADER_BINDING_TABLE raygen_sbt
|
||||
g1
|
||||
END
|
||||
SHADER_BINDING_TABLE miss_sbt
|
||||
g2
|
||||
END
|
||||
SHADER_BINDING_TABLE hit_sbt
|
||||
g3
|
||||
END
|
||||
END
|
||||
|
||||
RUN my_rtpipeline RAYGEN raygen_sbt 2 2 1
|
||||
|
||||
EXPECT img1 IDX 0 EQ 1 2 257 258
|
||||
#EXPECT img1 IDX 0 EQ 1
|
||||
Reference in New Issue
Block a user