blob: 69016904192563132155e42f5088e6d4bc3f5169 [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: April 25, 2016
Revision: 1
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
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_ENABLE, 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_DISABLE, 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
- Internal revisions.