Name

    ANGLE_polygon_mode

Name Strings

    GL_ANGLE_polygon_mode

Status

    Draft

Version

    Last Modified Date: March 31, 2023
    Revision: 1

Number

    OpenGL ES Extension XX

Dependencies

    This extension is written against the OpenGL ES 3.1 (November 3, 2016)
    specification, but can apply to earlier versions.

Overview

    Rendering triangle primitives as lines, i.e., in a wireframe mode,
    is useful for debugging GPU applications.

    This effect cannot be achieved by drawing the same triangle primitives with
    the LINES mode due to differences in primitive assembly and rasterization.
    Moreover, polygon offset state is ignored for line primitives thus making
    the wireframe overlay even more difficult to be rendered correctly.

    This extension has the same semantics as NV_polygon_mode but the point
    rasterization mode is omitted to support the extension on layered OpenGL ES
    implementations, such as ANGLE, when the underlying API does not support
    point rasterization mode.

New Procedures and Functions

    void PolygonModeANGLE(enum face, enum mode);

New Tokens

    Accepted by the <pname> parameter to GetIntegerv:

        POLYGON_MODE_ANGLE                          0x0B40

    Accepted by the <pname> parameters of Enable, Disable and IsEnabled:

        POLYGON_OFFSET_LINE_ANGLE                   0x2A02

    Returned by GetIntegerv, GetFloatv, and GetInteger64v when <pname> is
    POLYGON_MODE_ANGLE:

        LINE_ANGLE                                  0x1B01
        FILL_ANGLE                                  0x1B02

New State

    Modify Table 20.6, Rasterization

    Add:

                                          Initial
    Get Value                 Type Get Command  Value     Description                    Sec.
    -----------------------   ---- ----------- ---------- ---------------------------    ------
    POLYGON_MODE_ANGLE         E   GetIntegerv FILL_ANGLE Polygon rasterization mode     13.5.1pm
                                                          (front & back)
    POLYGON_OFFSET_LINE_ANGLE  B   IsEnabled   FALSE      Polygon offset enable for      13.5.2
                                                          LINE_ANGLE mode rasterization

    Change description for POLYGON_OFFSET_FILL to "Polygon offset enable for
    FILL_ANGLE mode rasterization"

Errors

    An INVALID_ENUM error is generated by PolygonModeANGLE if <face> is not
    FRONT_AND_BACK.

    An INVALID_ENUM error is generated by PolygonModeANGLE if <mode> is not
    one of LINE_ANGLE or FILL_ANGLE.

Revision History

    3/31/2023   First revision
