Name WGL_I3D_digital_video_control Name Strings WGL_I3D_digital_video_control Contact Dale Kirkland, Intense3D (dlkirkla 'at' intense3d.com) Status Complete Version Date: 04/17/2000 Revision 1.0 Number 250 Dependencies The extension is written against the OpenGL 1.2.1 Specification although it should work on any previous OpenGL specification. The WGL_EXT_extensions_string extension is required. WGL_I3D_gamma affects the definition of this extension. Overview The digital video control extension controls digital video data, such as whether it is gamma corrected or the cursor is injected into the video stream. IP Status None Issues None New Procedures and Functions BOOL wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int *piValue) BOOL wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int *piValue) New Tokens Accepted by the parameter of wglGetDigitalVideoParametersI3D and wglSetDigitalVideoParametersI3D: WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) None Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) None Additions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment Operations and the Frame Buffer) None Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) None Additions to Chapter 6 of the OpenGL 1.2.1 Specification (State and State Requests) None Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) None Additions to the WGL Specification Digital video data is controlled by parameters that are set with the function wglSetDigitalVideoParametersI3D: BOOL wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int *piValue) is a device context for a graphics adapter or a window residing on a device that supports digital video. For multiple monitor systems, only the digital video mode associated with is set. must be one of the following values: WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D Specifies the source of the cursor data's alpha component. If the value pointed to by is non-zero, the alpha component of the cursor data comes from the framebuffer. If the value pointed to by is zero the alpha component of the cursor is specified by WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D. The default value is zero. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D Determines the alpha component of the cursor. The value pointed to by is converted by the following equation: ((2 * <*piValue>) + 1) ---------------------- (2^32 - 1) and the result is clamped to [0, 1]. The clamped result is multiplied by 2^n - 1, where 'n' is the number of bits in the alpha buffer. The digital video data will have the result as the cursor data's alpha component. The default alpha value is 2^31 - 1. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D Specifies whether cursor data is included in the digital video data. If the value pointed to by is non-zero, the digital video data contains cursor data. Otherwise the digital video data does not contain cursor data. This value defaults to zero. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D Specifies whether the digital video data is gamma corrected. If the value pointed to by is non-zero, the digital video data is gamma corrected. Otherwise, the digital video data is not gamma corrected. This value defaults to zero. Digital video parameters can be queried with the function wglGetDigitalVideoParametersI3D: BOOL wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int *piValue) is a device context for a graphics adapter or a window residing on a device that supports digital video. For multiple monitor systems, only the digital video mode parameters associated with are returned. must be one of the following values: WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D returns one value indicating the source of the cursor data's alpha component. If the value is non-zero then the alpha component of the cursor data comes from the framebuffer. Otherwise, the value of the cursor's alpha data is determined by the value specified by WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D returns the user-specified alpha component of the cursor's data. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D returns one value indicating whether cursor data is present in the digital video data. If the value is non-zero then cursor data is present in the digital video data. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D returns one value indicating whether the digital video data is gamma corrected. If the value is non-zero then the digital video data is gamma corrected. Dependencies on WGL_EXT_extensions_string Because there is no way to extend wgl, these calls are defined in the ICD and can be called by obtaining the address with wglGetProcAddress. Because this extension is a WGL extension, it is not included in the GL_EXTENSIONS string. Its existence can be determined with the WGL_EXT_extensions_string extension. Dependencies on WGL_I3D_gamma If WGL_I3D_gamma is supported, the parameter of WGLGetDigitalVideoParametersI3D and WGLSetDigitalVideoParametersI3D accepts WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D. Otherwise it does not. Errors If the function succeeds, a value of TRUE is returned. If the function fails, a value of FALSE is returned. To get extended error information, call GetLastError. ERROR_DC_NOT_FOUND The was not valid. ERROR_NO_SYSTEM_RESOURCES There is no support for digital video for the device specified by . ERROR_INVALID_DATA is not a valid value. New State None New Implementation Dependent State None Revision History 12/03/1999 0.1 First draft. 01/05/2000 0.2 Enumerants assigned 04/17/2000 1.0 Driver released to ISVs.