• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    NV_alpha_to_coverage_dither_control
4
5Name Strings
6
7    GL_NV_alpha_to_coverage_dither_control
8
9Contact
10
11   Pierre Boudier, NVIDIA Corporation (pboudier 'at' nvidia.com)
12
13Contributors
14
15    Tristan Lorach, NVIDIA Corporation
16    Christophe KULESZA, Dassault Systemes
17
18Status
19
20    Pending.
21
22Version
23
24    Last Modified Date:         May 31, 2017
25    Revision:                   1.01
26
27Number
28
29    500
30
31Dependencies
32
33    This extension is written against the OpenGL 4.4 specification
34    (Core Profile) but may be used with the Compatibility profile or OpenGL ES
35    2.0 or later.
36
37Overview
38
39    NV_alpha_to_coverage_dither_control_triangles provides a new mechanism
40    to control whether dithering is applied when the existing alpha to coverage
41    functionality is used.
42
43
44New Procedures and Functions
45
46    void AlphaToCoverageDitherControlNV(enum mode)
47
48New Tokens
49
50    Accepted by the <param> parameter of AlphaToCoverageDitherControlNV():
51        ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV             0x934D
52        ALPHA_TO_COVERAGE_DITHER_ENABLE_NV              0x934E
53        ALPHA_TO_COVERAGE_DITHER_DISABLE_NV             0x934F
54
55    Accepted by the <param> of GetIntegerv():
56        ALPHA_TO_COVERAGE_DITHER_MODE_NV                0x92BF
57
58Modification to Chapter 17.3.3 of the OpenGL 4.4 (Core Profile) Specification
59(Multisample Fragment Operations)
60
61    Modify the paragraph describing SAMPLE_ALPHA_TO_COVERAGE with
62
63        ... No specific algorithm is required for converting the sample
64    alpha values to a temporary coverage value. It is intended that the
65    number of 1's in the temporary coverage be proportional to the set
66    of alpha values for the fragment, with all 1's  corresponding to
67    the maximum of all alpha values, and all 0's corresponding to all
68    alpha values being 0. The alpha values used to generate a coverage
69    value are clamped to the range [0; 1]. It is also intended that the
70    algorithm be pseudo-random in nature, to avoid image artifacts due
71    to regular coverage sample locations.
72
73    The function AlphaToCoverageDitherControlNV() allows to specify the
74    kind of algorithm: If the mode is ALPHA_TO_COVERAGE_DITHER_ENABLE,
75    the algorithm is different at different pixel locations. The dithering
76    should be defined relative to window, not screen, coordinates, so
77    that rendering results are invariant with respect to window position.
78    If the mode is ALPHA_TO_COVERAGE_DITHER_DISABLE, then no dithering
79    should be applied and the same conversion should happen regardless of
80    the pixel coordinates. If the mode is ALPHA_TO_COVERAGE_DITHER_DEFAULT,
81    then the algorithm is implementation dependent.
82
83    Addition to the Table 23.11. Multisampling:
84    ALPHA_TO_COVERAGE_DITHER_MODE  |  E  |  GetIntegerv  |  ALPHA_TO_COVERAGE_DITHER_DEFAULT  | Control dither for alpha to coverage |  17.3.3
85
86New State
87
88    None.
89
90Additions to the AGL/GLX/WGL Specifications
91
92    None.
93
94GLX Protocol
95
96    None.
97
98Modifications to the OpenGL Shading Language Specification, Version 4.40
99
100    None.
101
102Errors
103
104    None
105
106Issues
107
108    (XX)
109
110Revision History
111
112    Revision 1.01
113    - fix incorrect enum names in the text section
114    Revision 1
115    - Internal revisions.
116