-
Notifications
You must be signed in to change notification settings - Fork 101
/
GLSL_EXT_opacity_micromap.txt
86 lines (51 loc) · 2.21 KB
/
GLSL_EXT_opacity_micromap.txt
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Name
EXT_opacity_micromap
Name Strings
GL_EXT_opacity_micromap
Contact
Eric Werness (ewerness 'at' nvidia.com), NVIDIA
Contributors
Eric Werness, NVIDIA
Joshua Barczak, Intel
Status
Complete
Version
Last Modified Date: 2022-07-28
Revision: 1
Dependencies
This extension can be applied to OpenGL GLSL versions 4.60
(#version 460) and higher.
This extension is written against revision 5 of the OpenGL Shading Language
version 4.60, dated September 4, 2017.
This extension interacts with revision 43 of the GL_KHR_vulkan_glsl
extension, dated October 25, 2017.
This extension requires GL_EXT_ray_tracing or GL_EXT_ray_query.
Overview
This extension document modifies GLSL to add a new ray flag for opacity micromaps.
Mapping to SPIR-V
-----------------
For informational purposes (non-normative), the following is an
expected way for an implementation to map GLSL constructs to SPIR-V
constructs:
gl_RayFlagsForceOpacityMicromap2StateEXT -> ForceOpacityMicromap2StateEXT ray flag
Modifications to the OpenGL Shading Language Specification, Version 4.60
Including the following line in a shader can be used to control the
language features described in this extension:
#extension GL_EXT_opacity_micromap : <behavior>
where <behavior> is as specified in section 3.3.
New preprocessor #defines are added:
#define GL_EXT_opacity_micromap 1
Additions to Chapter 7 of the OpenGL Shading Language Specification
(Built-in Variables)
Add a new subsection 7.3.2, "Fixed Constants"
The following constants are provided in all ray tracing shader stages
const uint gl_RayFlagsForceOpacityMicromap2StateEXT = 1024U;
This can be used as a flag for the 'rayflags' argument for a traceRayEXT() or rayQueryInitializeEXT() call,
or for comparing value to gl_IncomingRayFlagsEXT.
Issues
1) Is there anything else to put here?
RESOLVED : No, just one ray flag.
Revision History
Rev. Date Author Changes
---- ----------- ------ -------------------------------------------
1 2022-07-28 ewerness Initial revision