Fixed closesthit shader
This commit is contained in:
parent
dc3ed003db
commit
eedfcc6b74
4 changed files with 8 additions and 9 deletions
|
|
@ -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];
|
||||||
|
|
|
||||||
BIN
shaders/hlsl/raytracingpositionfetch/closesthit.rchit.spv
Normal file
BIN
shaders/hlsl/raytracingpositionfetch/closesthit.rchit.spv
Normal file
Binary file not shown.
BIN
shaders/hlsl/raytracingpositionfetch/miss.rmiss.spv
Normal file
BIN
shaders/hlsl/raytracingpositionfetch/miss.rmiss.spv
Normal file
Binary file not shown.
BIN
shaders/hlsl/raytracingpositionfetch/raygen.rgen.spv
Normal file
BIN
shaders/hlsl/raytracingpositionfetch/raygen.rgen.spv
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue