File: glLogicOp.xml

package info (click to toggle)
khronos-opengl-man4 1.0~svn27841-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 24,888 kB
  • ctags: 377
  • sloc: xml: 188,408; makefile: 1,153; python: 736; sh: 49; php: 7; sed: 2
file content (136 lines) | stat: -rw-r--r-- 12,095 bytes parent folder | download
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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="opengl-man.css" /><title>glLogicOp - OpenGL 4 Reference Pages</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /></head><body><div class="refentry"><a id="glLogicOp"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glLogicOp — specify a logical pixel operation for rendering</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <strong class="fsfunc">glLogicOp</strong>(</code></td><td>GLenum <var class="pdparam">opcode</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>opcode</code></em></span></dt><dd><p>
                    Specifies a symbolic constant that selects a logical operation.
                    The following symbols are accepted:
                    <code class="constant">GL_CLEAR</code>,
                    <code class="constant">GL_SET</code>,
                    <code class="constant">GL_COPY</code>,
                    <code class="constant">GL_COPY_INVERTED</code>,
                    <code class="constant">GL_NOOP</code>,
                    <code class="constant">GL_INVERT</code>,
                    <code class="constant">GL_AND</code>,
                    <code class="constant">GL_NAND</code>,
                    <code class="constant">GL_OR</code>,
                    <code class="constant">GL_NOR</code>,
                    <code class="constant">GL_XOR</code>,
                    <code class="constant">GL_EQUIV</code>,
                    <code class="constant">GL_AND_REVERSE</code>,
                    <code class="constant">GL_AND_INVERTED</code>,
                    <code class="constant">GL_OR_REVERSE</code>, and
                    <code class="constant">GL_OR_INVERTED</code>. The initial value is <code class="constant">GL_COPY</code>.
                </p></dd></dl></div></div><div class="refsect1"><a id="description"></a><h2>Description</h2><p>
            <code class="function">glLogicOp</code> specifies a logical operation that,
            when enabled,
            is applied between the incoming RGBA color
            and the RGBA color at the corresponding location in the
            frame buffer.
            To enable or disable the logical operation, call
            <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a> and <a class="citerefentry" href="glDisable.xml"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a>
            using the symbolic constant <code class="constant">GL_COLOR_LOGIC_OP</code>. The initial value is
            disabled.
        </p><p>
        </p><div class="informaltable"><table style="border-collapse: collapse;border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "><colgroup><col align="left" /><col align="center" /></colgroup><thead><tr><th style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <span class="bold"><strong> Opcode </strong></span>
                        </th><th style="border-bottom: 2px solid ; " align="center">
                            <span class="bold"><strong> Resulting Operation </strong></span>
                        </th></tr></thead><tbody><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_CLEAR</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            0
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_SET</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            1
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_COPY</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            s
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_COPY_INVERTED</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            ~s
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_NOOP</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_INVERT</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            ~d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_AND</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            s &amp; d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_NAND</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            ~(s &amp; d)
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_OR</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            s | d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_NOR</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            ~(s | d)
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_XOR</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            s ^ d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_EQUIV</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            ~(s ^ d)
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_AND_REVERSE</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            s &amp; ~d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_AND_INVERTED</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            ~s &amp; d
                        </td></tr><tr><td style="border-right: 2px solid ; border-bottom: 2px solid ; " align="left">
                            <code class="constant">GL_OR_REVERSE</code>
                        </td><td style="border-bottom: 2px solid ; " align="center">
                            s | ~d
                        </td></tr><tr><td style="border-right: 2px solid ; " align="left">
                            <code class="constant">GL_OR_INVERTED</code>
                        </td><td style="" align="center">
                            ~s | d
                        </td></tr></tbody></table></div><p>
            <em class="parameter"><code>opcode</code></em> is a symbolic constant chosen from the list above.
            In the explanation of the logical operations,
            <span class="emphasis"><em>s</em></span> represents the incoming color and
            <span class="emphasis"><em>d</em></span> represents the color in the frame buffer.
            Standard C-language operators are used.
            As these bitwise operators suggest,
            the logical operation is applied independently to each bit pair of the
            source and destination colors.
        </p></div><div class="refsect1"><a id="notes"></a><h2>Notes</h2><p>
            When more than one RGBA color buffer is enabled for drawing,
            logical operations are performed separately for each enabled buffer,
            using for the destination value the contents of that buffer
            (see <a class="citerefentry" href="glDrawBuffer.xml"><span class="citerefentry"><span class="refentrytitle">glDrawBuffer</span></span></a>).
        </p><p>
            Logic operations have no effect on floating point draw buffers. However, if
            <code class="constant">GL_COLOR_LOGIC_OP</code> is enabled, blending is still disabled
            in this case.
        </p></div><div class="refsect1"><a id="errors"></a><h2>Errors</h2><p>
            <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>opcode</code></em> is not an accepted value.
        </p></div><div class="refsect1"><a id="associatedgets"></a><h2>Associated Gets</h2><p>
            <a class="citerefentry" href="glGet.xml"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_LOGIC_OP_MODE</code>.
        </p><p>
            <a class="citerefentry" href="glIsEnabled.xml"><span class="citerefentry"><span class="refentrytitle">glIsEnabled</span></span></a> with argument <code class="constant">GL_COLOR_LOGIC_OP</code>.
        </p></div><div class="refsect1"><a id="seealso"></a><h2>See Also</h2><p>
            <a class="citerefentry" href="glBlendFunc.xml"><span class="citerefentry"><span class="refentrytitle">glBlendFunc</span></span></a>,
            <a class="citerefentry" href="glDrawBuffer.xml"><span class="citerefentry"><span class="refentrytitle">glDrawBuffer</span></span></a>,
            <a class="citerefentry" href="glEnable.xml"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>,
            <a class="citerefentry" href="glStencilOp.xml"><span class="citerefentry"><span class="refentrytitle">glStencilOp</span></span></a>
        </p></div><div class="refsect1"><a id="Copyright"></a><h2>Copyright</h2><p>
            Copyright <span class="trademark"></span>© 1991-2006 Silicon Graphics, Inc.
            Copyright <span class="trademark"></span>© 2010-2013 Khronos Group.
            This document is licensed under the SGI Free Software B License.
            For details, see
            <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
        </p></div></div></body></html>