blob: 68cf8f5bb71dacf685a7e3021c36456d0d108355 [file] [log] [blame]
Name
NV_alpha_to_coverage_dither_control
Name Strings
GL_NV_alpha_to_coverage_dither_control
Contact
Pierre Boudier, NVIDIA Corporation (pboudier 'at' nvidia.com)
Contributors
Tristan Lorach, NVIDIA Corporation
Christophe KULESZA, Dassault Systemes
Status
Pending.
Version
Last Modified Date: May 31, 2017
Revision: 1.01
Number
500
Dependencies
This extension is written against the OpenGL 4.4 specification
(Core Profile) but may be used with the Compatibility profile or OpenGL ES
2.0 or later.
Overview
NV_alpha_to_coverage_dither_control_triangles provides a new mechanism
to control whether dithering is applied when the existing alpha to coverage
functionality is used.
New Procedures and Functions
void AlphaToCoverageDitherControlNV(enum mode)
New Tokens
Accepted by the <param> parameter of AlphaToCoverageDitherControlNV():
ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV 0x934D
ALPHA_TO_COVERAGE_DITHER_ENABLE_NV 0x934E
ALPHA_TO_COVERAGE_DITHER_DISABLE_NV 0x934F
Accepted by the <param> of GetIntegerv():
ALPHA_TO_COVERAGE_DITHER_MODE_NV 0x92BF
Modification to Chapter 17.3.3 of the OpenGL 4.4 (Core Profile) Specification
(Multisample Fragment Operations)
Modify the paragraph describing SAMPLE_ALPHA_TO_COVERAGE with
... No specific algorithm is required for converting the sample
alpha values to a temporary coverage value. It is intended that the
number of 1's in the temporary coverage be proportional to the set
of alpha values for the fragment, with all 1's corresponding to
the maximum of all alpha values, and all 0's corresponding to all
alpha values being 0. The alpha values used to generate a coverage
value are clamped to the range [0; 1]. It is also intended that the
algorithm be pseudo-random in nature, to avoid image artifacts due
to regular coverage sample locations.
The function AlphaToCoverageDitherControlNV() allows to specify the
kind of algorithm: If the mode is ALPHA_TO_COVERAGE_DITHER_ENABLE,
the algorithm is different at different pixel locations. The dithering
should be defined relative to window, not screen, coordinates, so
that rendering results are invariant with respect to window position.
If the mode is ALPHA_TO_COVERAGE_DITHER_DISABLE, then no dithering
should be applied and the same conversion should happen regardless of
the pixel coordinates. If the mode is ALPHA_TO_COVERAGE_DITHER_DEFAULT,
then the algorithm is implementation dependent.
Addition to the Table 23.11. Multisampling:
ALPHA_TO_COVERAGE_DITHER_MODE | E | GetIntegerv | ALPHA_TO_COVERAGE_DITHER_DEFAULT | Control dither for alpha to coverage | 17.3.3
New State
None.
Additions to the AGL/GLX/WGL Specifications
None.
GLX Protocol
None.
Modifications to the OpenGL Shading Language Specification, Version 4.40
None.
Errors
None
Issues
(XX)
Revision History
Revision 1.01
- fix incorrect enum names in the text section
Revision 1
- Internal revisions.