1Name 2 3 WGL_I3D_digital_video_control 4 5Name Strings 6 7 WGL_I3D_digital_video_control 8 9Contact 10 11 Dale Kirkland, Intense3D (dlkirkla 'at' intense3d.com) 12 13Status 14 15 Complete 16 17Version 18 19 Date: 04/17/2000 Revision 1.0 20 21Number 22 23 250 24 25Dependencies 26 27 The extension is written against the OpenGL 1.2.1 Specification 28 although it should work on any previous OpenGL specification. 29 30 The WGL_EXT_extensions_string extension is required. 31 32 WGL_I3D_gamma affects the definition of this extension. 33 34Overview 35 36 The digital video control extension controls digital video data, 37 such as whether it is gamma corrected or the cursor is injected 38 into the video stream. 39 40IP Status 41 42 None 43 44Issues 45 46 None 47 48New Procedures and Functions 49 50 BOOL wglGetDigitalVideoParametersI3D(HDC hDC, 51 int iAttribute, 52 int *piValue) 53 54 BOOL wglSetDigitalVideoParametersI3D(HDC hDC, 55 int iAttribute, 56 const int *piValue) 57 58New Tokens 59 60 Accepted by the <iAttribute> parameter of wglGetDigitalVideoParametersI3D 61 and wglSetDigitalVideoParametersI3D: 62 63 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 64 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 65 WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 66 WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 67 68Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) 69 70 None 71 72Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) 73 74 None 75 76Additions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment 77Operations and the Frame Buffer) 78 79 None 80 81Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) 82 83 None 84 85Additions to Chapter 6 of the OpenGL 1.2.1 Specification (State and 86State Requests) 87 88 None 89 90Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) 91 92 None 93 94Additions to the WGL Specification 95 96 Digital video data is controlled by parameters that are set with 97 the function wglSetDigitalVideoParametersI3D: 98 99 BOOL wglSetDigitalVideoParametersI3D(HDC hDC, 100 int iAttribute, 101 const int *piValue) 102 103 <hDC> is a device context for a graphics adapter or a window 104 residing on a device that supports digital video. For multiple 105 monitor systems, only the digital video mode associated with <hDC> 106 is set. 107 108 <iAttribute> must be one of the following values: 109 110 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 111 Specifies the source of the cursor data's alpha component. 112 If the value pointed to by <piValue> is non-zero, the 113 alpha component of the cursor data comes from the 114 framebuffer. If the value pointed to by <piValue> is 115 zero the alpha component of the cursor is specified by 116 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D. The default 117 value is zero. 118 119 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 120 Determines the alpha component of the cursor. The value 121 pointed to by <piValue> is converted by the following 122 equation: 123 124 ((2 * <*piValue>) + 1) 125 ---------------------- 126 (2^32 - 1) 127 128 and the result is clamped to [0, 1]. The clamped result is 129 multiplied by 2^n - 1, where 'n' is the number of bits in the 130 alpha buffer. The digital video data will have the result as 131 the cursor data's alpha component. The default alpha value 132 is 2^31 - 1. 133 134 WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 135 Specifies whether cursor data is included in the digital 136 video data. If the value pointed to by <piValue> is 137 non-zero, the digital video data contains cursor data. 138 Otherwise the digital video data does not contain cursor 139 data. This value defaults to zero. 140 141 WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 142 Specifies whether the digital video data is gamma 143 corrected. If the value pointed to by <piValue> is non-zero, 144 the digital video data is gamma corrected. Otherwise, the 145 digital video data is not gamma corrected. This value 146 defaults to zero. 147 148 Digital video parameters can be queried with the function 149 wglGetDigitalVideoParametersI3D: 150 151 BOOL wglGetDigitalVideoParametersI3D(HDC hDC, 152 int iAttribute, 153 int *piValue) 154 155 <hDC> is a device context for a graphics adapter or a window 156 residing on a device that supports digital video. For multiple 157 monitor systems, only the digital video mode parameters associated 158 with <hDC> are returned. 159 160 <iAttribute> must be one of the following values: 161 162 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 163 <piValue> returns one value indicating the source of the cursor 164 data's alpha component. If the value is non-zero then the 165 alpha component of the cursor data comes from the framebuffer. 166 Otherwise, the value of the cursor's alpha data is determined 167 by the value specified by 168 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D. 169 170 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 171 <piValue> returns the user-specified alpha component of 172 the cursor's data. 173 174 WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 175 <piValue> returns one value indicating whether cursor data is 176 present in the digital video data. If the value is non-zero 177 then cursor data is present in the digital video data. 178 179 WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 180 <piValue> returns one value indicating whether the digital 181 video data is gamma corrected. If the value is non-zero then 182 the digital video data is gamma corrected. 183 184Dependencies on WGL_EXT_extensions_string 185 186 Because there is no way to extend wgl, these calls are defined in 187 the ICD and can be called by obtaining the address with 188 wglGetProcAddress. Because this extension is a WGL extension, it 189 is not included in the GL_EXTENSIONS string. Its existence can be 190 determined with the WGL_EXT_extensions_string extension. 191 192Dependencies on WGL_I3D_gamma 193 194 If WGL_I3D_gamma is supported, the <iAttribute> parameter of 195 WGLGetDigitalVideoParametersI3D and WGLSetDigitalVideoParametersI3D 196 accepts WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D. Otherwise it does 197 not. 198 199Errors 200 201 If the function succeeds, a value of TRUE is returned. If the 202 function fails, a value of FALSE is returned. To get extended 203 error information, call GetLastError. 204 205 ERROR_DC_NOT_FOUND The <hDC> was not valid. 206 207 ERROR_NO_SYSTEM_RESOURCES There is no support for digital video 208 for the device specified by <hDC>. 209 210 ERROR_INVALID_DATA <iAttribute> is not a valid value. 211 212New State 213 214 None 215 216New Implementation Dependent State 217 218 None 219 220Revision History 221 222 12/03/1999 0.1 First draft. 223 01/05/2000 0.2 Enumerants assigned 224 04/17/2000 1.0 Driver released to ISVs. 225