summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorGangzheng Tong <tonggangzheng@gmail.com>2025-05-13 19:23:27 -0700
committerGitHub <noreply@github.com>2025-05-13 19:23:27 -0700
commit04ba87e23435e76583c05d4530d63686f9af712f (patch)
tree8eda38c5fd52137b8a02f4474b5ae96083e2d875 /examples
parent0db786ce42c28002a34c257aa208a2be61ab9957 (diff)
Add Payload Access Qualifiers to the raytracing examples (#7092)
Diffstat (limited to 'examples')
-rw-r--r--examples/ray-tracing-pipeline/shaders.slang6
-rw-r--r--examples/ray-tracing/shaders.slang8
2 files changed, 9 insertions, 5 deletions
diff --git a/examples/ray-tracing-pipeline/shaders.slang b/examples/ray-tracing-pipeline/shaders.slang
index 77193f08e..12013cb44 100644
--- a/examples/ray-tracing-pipeline/shaders.slang
+++ b/examples/ray-tracing-pipeline/shaders.slang
@@ -19,9 +19,9 @@ struct Primitive
float3 getColor() { return color.xyz; }
};
-struct RayPayload
+struct [raypayload] RayPayload
{
- float4 color;
+ float4 color : read(caller) : write(caller, closesthit, miss);
};
uniform RWTexture2D resultTexture;
@@ -104,5 +104,5 @@ float4 fragmentMain(
uniform RWTexture2D t)
: SV_Target
{
- return t.Load(sv_position.xy);
+ return t.Load(uint2(sv_position.xy));
}
diff --git a/examples/ray-tracing/shaders.slang b/examples/ray-tracing/shaders.slang
index 0aff55435..006d02d4b 100644
--- a/examples/ray-tracing/shaders.slang
+++ b/examples/ray-tracing/shaders.slang
@@ -49,6 +49,8 @@ bool traceRayFirstHit(
primitiveIndex = q.CommittedPrimitiveIndex();
return true;
}
+ primitiveIndex = q.CandidatePrimitiveIndex();
+ unused(t);
return false;
}
@@ -80,6 +82,8 @@ bool traceRayNearestHit(
primitiveIndex = q.CommittedPrimitiveIndex();
return true;
}
+ primitiveIndex = q.CandidatePrimitiveIndex();
+ unused(t);
return false;
}
@@ -103,7 +107,7 @@ void computeMain(
float4 resultColor = 0;
- int primitiveIndex;
+ int primitiveIndex = 0;
float intersectionT;
if (traceRayNearestHit(sceneBVH, uniforms.cameraPosition.xyz, rayDir, intersectionT, primitiveIndex))
{
@@ -140,5 +144,5 @@ float4 fragmentMain(
uniform RWTexture2D t)
: SV_Target
{
- return t.Load(sv_position.xy);
+ return t.Load(uint2(sv_position.xy));
}