Fixed closesthit shader

This commit is contained in:
Sascha Willems 2024-04-19 10:34:12 +02:00
parent dc3ed003db
commit eedfcc6b74
4 changed files with 8 additions and 9 deletions

View file

@ -20,12 +20,16 @@ struct UBO
float4x4 projInverse; float4x4 projInverse;
float4 lightPos; float4 lightPos;
}; };
cbuffer ubo : register(b2) ConstantBuffer<UBO> ubo : register(b2);
{
UBO ubo; // We need to use special syntax for SPIR-V inlines
}; #define HitTriangleVertexPositionsKHR 5335
#define RayTracingPositionFetchKHR 5336
[[vk::ext_extension("SPV_KHR_ray_tracing_position_fetch")]] [[vk::ext_extension("SPV_KHR_ray_tracing_position_fetch")]]
[[vk::ext_capability(RayTracingPositionFetchKHR)]]
[[vk::ext_builtin_input(HitTriangleVertexPositionsKHR)]]
const static float3 gl_HitTriangleVertexPositions[3];
[shader("closesthit")] [shader("closesthit")]
void main(inout Payload p, in Attributes attribs) void main(inout Payload p, in Attributes attribs)
@ -35,11 +39,6 @@ void main(inout Payload p, in Attributes attribs)
// With VK_KHR_ray_tracing_position_fetch we can access the vertices for the hit triangle in the shader // With VK_KHR_ray_tracing_position_fetch we can access the vertices for the hit triangle in the shader
// We need to use special syntax for SPIR-V inlines
#define HitTriangleVertexPositionsKHR 5391
[[vk::ext_builtin_output(HitTriangleVertexPositionsKHR)]]
static float3 gl_HitTriangleVertexPositions[3];
float3 vertexPos0 = gl_HitTriangleVertexPositions[0]; float3 vertexPos0 = gl_HitTriangleVertexPositions[0];
float3 vertexPos1 = gl_HitTriangleVertexPositions[1]; float3 vertexPos1 = gl_HitTriangleVertexPositions[1];
float3 vertexPos2 = gl_HitTriangleVertexPositions[2]; float3 vertexPos2 = gl_HitTriangleVertexPositions[2];

Binary file not shown.

Binary file not shown.