1Name 2 3 OVR_multiview2 4 5Name Strings 6 7 GL_OVR_multiview2 8 9Contact 10 11 Cass Everitt, Oculus (cass.everitt 'at' oculus.com) 12 13Contributors 14 15 John Carmack, Oculus 16 Jan Paul van Waveren, Oculus 17 Jan-Harald Fredriksen, ARM 18 Sam Holmes, Qualcomm 19 Daniel Koch, NVIDIA 20 21Status 22 23 Incomplete. 24 25Version 26 27 Last Modified Date: October 19, 2018 28 Author Revision: 0.5 29 30Number 31 32 OpenGL Extension #479 33 OpenGL ES Extension #242 34 35Dependencies 36 37 OpenGL 3.0 or OpenGL ES 3.0 is required. 38 39 This extension is written against the OpenGL ES Shading Language 3.00.04 40 specification. 41 42 This extension requires OVR_multiview. 43 44Overview 45 46 47 This extension relaxes the restriction in OVR_multiview that only gl_Position 48 can depend on ViewID in the vertex shader. With this change, view-dependent 49 outputs like reflection vectors and similar are allowed. 50 51New Tokens 52 53 None. 54 55New Procedures and Functions 56 57 None. 58 59Modifications to The OpenGL ES Shading Language Specification, Version 3.00.04 60 61 Including the following line in a shader can be used to control the language 62 features described in this extension: 63 64 #extension GL_OVR_multiview2 : <behavior> 65 66 where <behavior> is as specified in section 3.5. 67 68 A new preprocessor #define is added to the OpenGL ES Shading Language: 69 70 #define GL_OVR_multiview2 1 71 72 If the OVR_multiview2 extension is enabled, the OVR_multiview extension 73 is also implicitly enabled. 74 75 Modifications to Section 7.1 "Built-in Language Variables" (as modified by 76 OVR_multiview): 77 78 Delete the paragraph which states: 79 80 It is a compile- or link-time error if any output variable other 81 than gl_Position is statically dependent on gl_ViewID_OVR. If an 82 output variable other than gl_Position is dynamically dependent on 83 gl_ViewID_OVR, the values are undefined. 84 85Errors 86 87 None. 88 89Issues 90 91 (1) Does enabling GL_OVR_multiview2 automatically enable GL_OVR_multiview? 92 93 RESOLVED: Yes. This was not specified in early drafts of the extension, 94 but this is the behavior of multiple implementations. 95 96Revision History 97 98 Rev. Date Author Changes 99 ---- -------- -------- ----------------------------------------- 100 0.1 03/18/15 cass Initial draft 101 0.5 10/19/18 dgkoch Add standard boiler plate shader extension language. 102 Add issue 1 and clarify that this extension 103 implicitly enables OVR_multiview. 104