1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
// Copyright 2021-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
include::{generated}/meta/{refprefix}VK_KHR_ray_tracing_position_fetch.adoc[]
=== Other Extension Metadata
*Last Modified Date*::
2023-02-17
*Interactions and External Dependencies*::
- This extension provides API support for
{GLSLregistry}/ext/GLSL_EXT_ray_tracing_position_fetch.txt[`GLSL_EXT_ray_tracing_position_fetch`]
- Interacts with `apiext:VK_KHR_ray_tracing_pipeline`
- Interacts with `apiext:VK_KHR_ray_query`
*Contributors*::
- Eric Werness, NVIDIA
- Stu Smith, AMD
- Yuriy O'Donnell, Epic Games
- Ralph Potter, Samsung
- Joshua Barczak, Intel
- Lionel Landwerlin, Intel
- Andrew Garrard, Imagination Technologies
- Alex Bourd, Qualcomm
- Yunpeng Zhu, Huawei Technologies
- Marius Bjorge, Arm
- Daniel Koch, NVIDIA
=== Description
`VK_KHR_ray_tracing_position_fetch` adds the ability to fetch the vertex
positions in the shader from a hit triangle as stored in the acceleration
structure.
An application adds
ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR to the
acceleration structure at build time.
Then, if the hit is a triangle geometry, the shader (any-hit or closest hit
for ray pipelines or using ray query) can: fetch the three, three-component
vertex positions in object space, of the triangle which was hit.
include::{generated}/interfaces/VK_KHR_ray_tracing_position_fetch.adoc[]
=== New Built-In Variables
* <<interfaces-builtin-variables-hittrianglevertexpositions,code:HitTriangleVertexPositionsKHR>>
=== New SPIR-V Capabilities
* <<spirvenv-capabilities-table-RayTracingPositionFetchKHR,RayTracingPositionFetchKHR>>
* <<spirvenv-capabilities-table-RayQueryPositionFetchKHR,RayQueryPositionFetchKHR>>
=== Issues
None Yet!
=== Version History
* Revision 1, 2023-02-17 (Eric Werness)
** internal revisions
|