File: glPolygonMode.xml

package info (click to toggle)
khronos-opengl-man4 1.0~svn33624-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 6,344 kB
  • sloc: xml: 93,066; makefile: 730; python: 627; sh: 50; php: 4
file content (166 lines) | stat: -rw-r--r-- 7,382 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!DOCTYPE refentry [ <!ENTITY % mathent SYSTEM "math.ent"> %mathent; ]>

<!-- Converted by db4-upgrade version 1.1 -->

<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="glPolygonMode">
    <info>
        <copyright>
            <year>1991-2006</year>
            <holder>Silicon Graphics, Inc.</holder>
        </copyright>
        <copyright>
            <year>2010-2014</year>
            <holder>Khronos Group</holder>
        </copyright>
    </info>
    <refmeta>
        <refentrytitle>glPolygonMode</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>glPolygonMode</refname>
        <refpurpose>select a polygon rasterization mode</refpurpose>
    </refnamediv>
    <refsynopsisdiv><title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glPolygonMode</function></funcdef>
                <paramdef>GLenum <parameter>face</parameter></paramdef>
                <paramdef>GLenum <parameter>mode</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 xml:id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><parameter>face</parameter></term>
            <listitem>
                <para>
                    Specifies the polygons that <parameter>mode</parameter> applies to.
                    Must be <constant>GL_FRONT_AND_BACK</constant> for front- and back-facing polygons.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>mode</parameter></term>
            <listitem>
                <para>
                    Specifies how polygons will be rasterized.
                    Accepted values are
                    <constant>GL_POINT</constant>,
                    <constant>GL_LINE</constant>, and
                    <constant>GL_FILL</constant>.
                    The initial value is <constant>GL_FILL</constant> for both front- and back-facing polygons.
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 xml:id="description"><title>Description</title>
        <para>
            <function>glPolygonMode</function> controls the interpretation of polygons for rasterization.
            <parameter>face</parameter> describes which polygons <parameter>mode</parameter> applies to:
            both front and back-facing polygons (<constant>GL_FRONT_AND_BACK</constant>).
            The polygon mode affects only the final rasterization of polygons.
            In particular,
            a polygon's vertices are lit and
            the polygon is clipped and possibly culled before these modes are applied.
        </para>
        <para>
            Three modes are defined and can be specified in <parameter>mode</parameter>:
        </para>
        <variablelist>
            <varlistentry>
                <term><constant>GL_POINT</constant></term>
                <listitem>
                    <para>
                        Polygon vertices that are marked as the start of a boundary edge
                        are drawn as points.
                        Point attributes such as
                        <constant>GL_POINT_SIZE</constant> and
                        <constant>GL_POINT_SMOOTH</constant> control
                        the rasterization of the points.
                        Polygon rasterization attributes other than <constant>GL_POLYGON_MODE</constant> have no effect.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_LINE</constant></term>
                <listitem>
                    <para>
                        Boundary edges of the polygon are drawn as line segments.
                        Line attributes such as
                        <constant>GL_LINE_WIDTH</constant> and
                        <constant>GL_LINE_SMOOTH</constant> control
                        the rasterization of the lines.
                        Polygon rasterization attributes other than <constant>GL_POLYGON_MODE</constant> have no effect.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><constant>GL_FILL</constant></term>
                <listitem>
                    <para>
                        The interior of the polygon is filled.
                        Polygon attributes such as <constant>GL_POLYGON_SMOOTH</constant> control the rasterization of the polygon.
                    </para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 xml:id="examples"><title>Examples</title>
        <para>
            To draw a surface with outlined polygons,
            call
            <programlisting>
glPolygonMode(<constant>GL_FRONT_AND_BACK</constant>, <constant>GL_LINE</constant>);
            </programlisting>
        </para>
    </refsect1>
    <refsect1 xml:id="notes"><title>Notes</title>
        <para>
            Vertices are marked as boundary or nonboundary with an edge flag.
            Edge flags are generated internally by the GL when it decomposes
            triangle stips and fans.
        </para>
    </refsect1>
    <refsect1 xml:id="errors"><title>Errors</title>
        <para>
            <constant>GL_INVALID_ENUM</constant> is generated if either <parameter>face</parameter> or <parameter>mode</parameter> is not
            an accepted value.
        </para>
    </refsect1>
    <refsect1 xml:id="associatedgets"><title>Associated Gets</title>
        <para>
            <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_POLYGON_MODE</constant>
        </para>
    </refsect1>
    <refsect1 xml:id="versions"><title>Version Support</title>
        <informaltable>
            <tgroup cols="13" align="left">
                <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apifunchead.xml" xpointer="xpointer(/*/*)"/>
                <tbody>
                    <row>
                        <entry><function>glPolygonMode</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='20']/*)"/>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect1>
    <refsect1 xml:id="seealso"><title>See Also</title>
        <para>
            <citerefentry><refentrytitle>glLineWidth</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glPointSize</refentrytitle></citerefentry>
        </para>
    </refsect1>
    <refsect1 xml:id="Copyright"><title>Copyright</title>
        <para>
            Copyright <trademark class="copyright"/> 1991-2006 Silicon Graphics, Inc.
            Copyright <trademark class="copyright"/> 2010-2014 Khronos Group.
            This document is licensed under the SGI Free Software B License.
            For details, see
            <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</link>.
        </para>
    </refsect1>
</refentry>