15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    WGL_I3D_digital_video_control
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    WGL_I3D_digital_video_control
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Dale Kirkland, Intense3D (dlkirkla 'at' intense3d.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciStatus
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Complete
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciVersion
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    Date: 04/17/2000   Revision 1.0
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciNumber
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    250
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciDependencies
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    The extension is written against the OpenGL 1.2.1 Specification
285bd8deadSopenharmony_ci    although it should work on any previous OpenGL specification.
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ci    The WGL_EXT_extensions_string extension is required.
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    WGL_I3D_gamma affects the definition of this extension.
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ciOverview
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    The digital video control extension controls digital video data,
375bd8deadSopenharmony_ci    such as whether it is gamma corrected or the cursor is injected
385bd8deadSopenharmony_ci    into the video stream.
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciIP Status
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    None
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ciIssues
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    None
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciNew Procedures and Functions
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    BOOL wglGetDigitalVideoParametersI3D(HDC hDC,
515bd8deadSopenharmony_ci                                         int iAttribute,
525bd8deadSopenharmony_ci                                         int *piValue)
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    BOOL wglSetDigitalVideoParametersI3D(HDC hDC,
555bd8deadSopenharmony_ci                                         int iAttribute,
565bd8deadSopenharmony_ci                                         const int *piValue)
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ciNew Tokens
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci    Accepted by the <iAttribute> parameter of wglGetDigitalVideoParametersI3D
615bd8deadSopenharmony_ci    and wglSetDigitalVideoParametersI3D:
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D    0x2050
645bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D          0x2051
655bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D             0x2052
665bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D             0x2053
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    None
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization)
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ci    None
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment
775bd8deadSopenharmony_ciOperations and the Frame Buffer)
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci    None
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ci    None
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2.1 Specification (State and
865bd8deadSopenharmony_ciState Requests)
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    None
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    None
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ciAdditions to the WGL Specification
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci    Digital video data is controlled by parameters that are set with
975bd8deadSopenharmony_ci    the function wglSetDigitalVideoParametersI3D:
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci      BOOL wglSetDigitalVideoParametersI3D(HDC hDC,
1005bd8deadSopenharmony_ci                                           int iAttribute,
1015bd8deadSopenharmony_ci                                           const int *piValue)
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci    <hDC> is a device context for a graphics adapter or a window
1045bd8deadSopenharmony_ci    residing on a device that supports digital video.  For multiple
1055bd8deadSopenharmony_ci    monitor systems, only the digital video mode associated with <hDC>
1065bd8deadSopenharmony_ci    is set.
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci    <iAttribute> must be one of the following values:
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
1115bd8deadSopenharmony_ci          Specifies the source of the cursor data's alpha component.
1125bd8deadSopenharmony_ci          If the value pointed to by <piValue> is non-zero, the
1135bd8deadSopenharmony_ci          alpha component of the cursor data comes from the
1145bd8deadSopenharmony_ci          framebuffer. If the value pointed to by <piValue> is
1155bd8deadSopenharmony_ci          zero the alpha component of the cursor is specified by
1165bd8deadSopenharmony_ci          WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D. The default
1175bd8deadSopenharmony_ci          value is zero.
1185bd8deadSopenharmony_ci
1195bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
1205bd8deadSopenharmony_ci          Determines the alpha component of the cursor.  The value
1215bd8deadSopenharmony_ci          pointed to by <piValue> is converted by the following
1225bd8deadSopenharmony_ci          equation:
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ci                          ((2 * <*piValue>) + 1)
1255bd8deadSopenharmony_ci                          ----------------------
1265bd8deadSopenharmony_ci                              (2^32 - 1)
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci          and the result is clamped to [0, 1].  The clamped result is
1295bd8deadSopenharmony_ci          multiplied by 2^n - 1, where 'n' is the number of bits in the
1305bd8deadSopenharmony_ci          alpha buffer.  The digital video data will have the result as
1315bd8deadSopenharmony_ci          the cursor data's alpha component.  The default alpha value
1325bd8deadSopenharmony_ci          is 2^31 - 1.
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
1355bd8deadSopenharmony_ci          Specifies whether cursor data is included in the digital
1365bd8deadSopenharmony_ci          video data.  If the value pointed to by <piValue> is
1375bd8deadSopenharmony_ci          non-zero, the digital video data contains cursor data.
1385bd8deadSopenharmony_ci          Otherwise the digital video data does not contain cursor
1395bd8deadSopenharmony_ci          data.  This value defaults to zero.
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
1425bd8deadSopenharmony_ci          Specifies whether the digital video data is gamma
1435bd8deadSopenharmony_ci          corrected.  If the value pointed to by <piValue> is non-zero,
1445bd8deadSopenharmony_ci          the digital video data is gamma corrected.  Otherwise, the
1455bd8deadSopenharmony_ci          digital video data is not gamma corrected.  This value
1465bd8deadSopenharmony_ci          defaults to zero.
1475bd8deadSopenharmony_ci
1485bd8deadSopenharmony_ci    Digital video parameters can be queried with the function
1495bd8deadSopenharmony_ci    wglGetDigitalVideoParametersI3D:
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ci      BOOL wglGetDigitalVideoParametersI3D(HDC hDC,
1525bd8deadSopenharmony_ci                                           int iAttribute,
1535bd8deadSopenharmony_ci                                           int *piValue)
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci    <hDC> is a device context for a graphics adapter or a window
1565bd8deadSopenharmony_ci    residing on a device that supports digital video.  For multiple
1575bd8deadSopenharmony_ci    monitor systems, only the digital video mode parameters associated
1585bd8deadSopenharmony_ci    with <hDC> are returned.
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci    <iAttribute> must be one of the following values:
1615bd8deadSopenharmony_ci
1625bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
1635bd8deadSopenharmony_ci          <piValue> returns one value indicating the source of the cursor
1645bd8deadSopenharmony_ci          data's alpha component.  If the value is non-zero then the
1655bd8deadSopenharmony_ci          alpha component of the cursor data comes from the framebuffer.
1665bd8deadSopenharmony_ci          Otherwise, the value of the cursor's alpha data is determined
1675bd8deadSopenharmony_ci          by the value specified by
1685bd8deadSopenharmony_ci          WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D.
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
1715bd8deadSopenharmony_ci          <piValue> returns the user-specified alpha component of
1725bd8deadSopenharmony_ci          the cursor's data.
1735bd8deadSopenharmony_ci
1745bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
1755bd8deadSopenharmony_ci          <piValue> returns one value indicating whether cursor data is
1765bd8deadSopenharmony_ci          present in the digital video data.  If the value is non-zero
1775bd8deadSopenharmony_ci          then cursor data is present in the digital video data.
1785bd8deadSopenharmony_ci
1795bd8deadSopenharmony_ci      WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
1805bd8deadSopenharmony_ci          <piValue> returns one value indicating whether the digital
1815bd8deadSopenharmony_ci          video data is gamma corrected.  If the value is non-zero then
1825bd8deadSopenharmony_ci          the digital video data is gamma corrected.
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ciDependencies on WGL_EXT_extensions_string
1855bd8deadSopenharmony_ci
1865bd8deadSopenharmony_ci    Because there is no way to extend wgl, these calls are defined in
1875bd8deadSopenharmony_ci    the ICD and can be called by obtaining the address with
1885bd8deadSopenharmony_ci    wglGetProcAddress.  Because this extension is a WGL extension, it
1895bd8deadSopenharmony_ci    is not included in the GL_EXTENSIONS string.  Its existence can be
1905bd8deadSopenharmony_ci    determined with the WGL_EXT_extensions_string extension.
1915bd8deadSopenharmony_ci
1925bd8deadSopenharmony_ciDependencies on WGL_I3D_gamma
1935bd8deadSopenharmony_ci
1945bd8deadSopenharmony_ci    If WGL_I3D_gamma is supported, the <iAttribute> parameter of
1955bd8deadSopenharmony_ci    WGLGetDigitalVideoParametersI3D and WGLSetDigitalVideoParametersI3D
1965bd8deadSopenharmony_ci    accepts WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D.  Otherwise it does
1975bd8deadSopenharmony_ci    not.
1985bd8deadSopenharmony_ci
1995bd8deadSopenharmony_ciErrors
2005bd8deadSopenharmony_ci
2015bd8deadSopenharmony_ci    If the function succeeds, a value of TRUE is returned.  If the
2025bd8deadSopenharmony_ci    function fails, a value of FALSE is returned.  To get extended
2035bd8deadSopenharmony_ci    error information, call GetLastError.
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ci      ERROR_DC_NOT_FOUND         The <hDC> was not valid.
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci      ERROR_NO_SYSTEM_RESOURCES  There is no support for digital video
2085bd8deadSopenharmony_ci                                 for the device specified by <hDC>.
2095bd8deadSopenharmony_ci
2105bd8deadSopenharmony_ci      ERROR_INVALID_DATA         <iAttribute> is not a valid value.
2115bd8deadSopenharmony_ci
2125bd8deadSopenharmony_ciNew State
2135bd8deadSopenharmony_ci
2145bd8deadSopenharmony_ci    None
2155bd8deadSopenharmony_ci
2165bd8deadSopenharmony_ciNew Implementation Dependent State
2175bd8deadSopenharmony_ci
2185bd8deadSopenharmony_ci    None
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ciRevision History
2215bd8deadSopenharmony_ci
2225bd8deadSopenharmony_ci    12/03/1999  0.1  First draft.
2235bd8deadSopenharmony_ci    01/05/2000  0.2  Enumerants assigned
2245bd8deadSopenharmony_ci    04/17/2000  1.0  Driver released to ISVs.
225