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
|
<!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="glPolygonOffset">
<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>glPolygonOffset</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glPolygonOffset</refname>
<refpurpose>set the scale and units used to calculate depth values</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glPolygonOffset</function></funcdef>
<paramdef>GLfloat <parameter>factor</parameter></paramdef>
<paramdef>GLfloat <parameter>units</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 xml:id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>factor</parameter></term>
<listitem>
<para>
Specifies a scale factor that is used to create a variable
depth offset for each polygon. The initial value is 0.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>units</parameter></term>
<listitem>
<para>
Is multiplied by an implementation-specific value to
create a constant depth offset. The initial value is 0.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 xml:id="description"><title>Description</title>
<para>
When <constant>GL_POLYGON_OFFSET_FILL</constant>, <constant>GL_POLYGON_OFFSET_LINE</constant>, or
<constant>GL_POLYGON_OFFSET_POINT</constant> is enabled, each
fragment's <emphasis>depth</emphasis> value will be offset after it is interpolated
from the <emphasis>depth</emphasis> values of the appropriate vertices.
The value of the offset is
<inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<!-- eqn: factor * DZ + r * units: -->
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">factor</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">DZ</mml:mi>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">units</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math></inlineequation>,
where
<inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<!-- eqn: DZ: -->
<mml:mi mathvariant="italic">DZ</mml:mi>
</mml:math></inlineequation>
is a measurement of the change in depth relative to the screen
area of the polygon, and
<inlineequation><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll"><mml:mi mathvariant="italic">r</mml:mi></mml:math></inlineequation>
is the smallest value that is guaranteed to
produce a resolvable offset for a given implementation.
The offset is added before the depth test is performed and before
the value is written into the depth buffer.
</para>
<para>
<function>glPolygonOffset</function> is useful for rendering hidden-line images, for applying decals
to surfaces, and for rendering solids with highlighted edges.
</para>
</refsect1>
<refsect1 xml:id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glIsEnabled</refentrytitle></citerefentry> with argument
<constant>GL_POLYGON_OFFSET_FILL</constant>,
<constant>GL_POLYGON_OFFSET_LINE</constant>,
or <constant>GL_POLYGON_OFFSET_POINT</constant>.
</para>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_POLYGON_OFFSET_FACTOR</constant> or
<constant>GL_POLYGON_OFFSET_UNITS</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>glPolygonOffset</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>glDepthFunc</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glEnable</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glIsEnabled</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>
|