Name

    ANGLE_polygon_mode

Name Strings

    GL_ANGLE_polygon_mode

Status

    Complete

Version

    Last Modified Date: June 25, 2026
    Revision: 2

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.

    NV_polygon_mode affects the definition of this extension.

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 of GetIntegerv, GetFloatv, GetInteger64v,
    and GetBooleanv:

        POLYGON_MODE_ANGLE                          0x0B40

    Accepted by the <cap> parameter of Enable, Disable, and IsEnabled:

        POLYGON_OFFSET_LINE_ANGLE                   0x2A02

    Accepted by the <mode> parameter of PolygonModeANGLE and returned in the
    <params> parameter of GetIntegerv, GetFloatv, and GetInteger64v when <pname>
    is POLYGON_MODE_ANGLE:

        LINE_ANGLE                                  0x1B01
        FILL_ANGLE                                  0x1B02

New State

    Modify Table 20.6, Rasterization

    Add:

    Get Value                  Type  Get Command  Initial 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.

Interactions with NV_polygon_mode

    If NV_polygon_mode is supported, PolygonModeANGLE is equivalent to
    PolygonModeNV and thus its <mode> accepts POINT_NV.

Revision History

    3/31/2023   First revision
    6/25/2026   Clarified interactions and marked as complete
