diff options
| author | Gangzheng Tong <tonggangzheng@gmail.com> | 2025-05-13 19:23:27 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-13 19:23:27 -0700 |
| commit | 04ba87e23435e76583c05d4530d63686f9af712f (patch) | |
| tree | 8eda38c5fd52137b8a02f4474b5ae96083e2d875 /examples | |
| parent | 0db786ce42c28002a34c257aa208a2be61ab9957 (diff) | |
Add Payload Access Qualifiers to the raytracing examples (#7092)
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/ray-tracing-pipeline/shaders.slang | 6 | ||||
| -rw-r--r-- | examples/ray-tracing/shaders.slang | 8 |
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)); } |
