+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
- "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
-<refentry id="glBlendEquation">
- <refmeta>
- <refmetainfo>
- <copyright>
- <year>1991-2006</year>
- <holder>Silicon Graphics, Inc.</holder>
- </copyright>
- </refmetainfo>
- <refentrytitle>glBlendEquation</refentrytitle>
- <manvolnum>3G</manvolnum>
- </refmeta>
- <refnamediv>
- <refname>glBlendEquation</refname>
- <refpurpose>specify the equation used for both the RGB blend equation and the Alpha blend equation</refpurpose>
- </refnamediv>
- <refsynopsisdiv><title>C Specification</title>
- <funcsynopsis>
- <funcprototype>
- <funcdef>void <function>glBlendEquation</function></funcdef>
- <paramdef>GLenum <parameter>mode</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>void <function>glBlendEquationi</function></funcdef>
- <paramdef>GLuint <parameter>buf</parameter></paramdef>
- <paramdef>GLenum <parameter>mode</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- </refsynopsisdiv>
- <!-- eqn: ignoring delim $$ -->
- <refsect1 id="parameters"><title>Parameters</title>
- <variablelist>
- <varlistentry>
- <term><parameter>buf</parameter></term>
- <listitem>
- <para>
- for <function>glBlendEquationi</function>, specifies the index of the draw buffer
- for which to set the blend equation.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><parameter>mode</parameter></term>
- <listitem>
- <para>
- specifies how source and destination colors are combined.
- It must be <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>,
- <constant>GL_FUNC_REVERSE_SUBTRACT</constant>, <constant>GL_MIN</constant>, <constant>GL_MAX</constant>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1 id="description"><title>Description</title>
- <para>
- The blend equations determine how a new pixel (the ''source'' color)
- is combined with a pixel already in the framebuffer (the ''destination''
- color). This function sets both the RGB blend equation and the alpha
- blend equation to a single equation. <function>glBlendEquationi</function>
- specifies the blend equation for a single draw buffer whereas <function>glBlendEquation</function>
- sets the blend equation for all draw buffers.
- </para>
- <para>
- These equations use the source and destination blend factors
- specified by either <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> or
- <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>.
- See <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry> or <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
- for a description of the various blend factors.
- </para>
- <para>
- In the equations that follow, source and destination
- color components are referred to as
- <inlineequation><mml:math>
- <!-- eqn: ( R sub s, G sub s, B sub s, A sub s ): -->
- <mml:mfenced open="(" close=")">
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mfenced>
- </mml:math></inlineequation>
- and
- <inlineequation><mml:math>
- <!-- eqn: ( R sub d, G sub d, B sub d, A sub d ): -->
- <mml:mfenced open="(" close=")">
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mfenced>
- </mml:math></inlineequation>,
- respectively.
- The result color is referred to as
- <inlineequation><mml:math>
- <!-- eqn: ( R sub r, G sub r, B sub r, A sub r ): -->
- <mml:mfenced open="(" close=")">
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">r</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">r</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">r</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">r</mml:mi>
- </mml:msub>
- </mml:mfenced>
- </mml:math></inlineequation>.
- The source and destination blend factors are denoted
- <inlineequation><mml:math>
- <!-- eqn: ( s sub R, s sub G, s sub B, s sub A ): -->
- <mml:mfenced open="(" close=")">
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- </mml:mfenced>
- </mml:math></inlineequation>
- and
- <inlineequation><mml:math>
- <!-- eqn: ( d sub R, d sub G, d sub B, d sub A ): -->
- <mml:mfenced open="(" close=")">
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- </mml:mfenced>
- </mml:math></inlineequation>,
- respectively.
- For these equations all color components are understood to have values
- in the range
- <inlineequation><mml:math>
- <!-- eqn: [0,1]: -->
- <mml:mfenced open="[" close="]">
- <mml:mn>0</mml:mn>
- <mml:mn>1</mml:mn>
- </mml:mfenced>
- </mml:math></inlineequation>.
-
- <informaltable frame="topbot">
- <tgroup cols="3" align="left">
- <colspec colwidth="1.1*" />
- <colspec colwidth="1*" />
- <colspec colwidth="1*" />
- <thead>
- <row>
- <entry rowsep="1" align="left"><emphasis role="bold">
- Mode
- </emphasis></entry>
- <entry rowsep="1" align="left"><emphasis role="bold">
- RGB Components
- </emphasis></entry>
- <entry rowsep="1" align="left"><emphasis role="bold">
- Alpha Component
- </emphasis></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry align="left">
- <constant>GL_FUNC_ADD</constant>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Rr = R sub s s sub R + R sub d d sub R : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Rr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- <mml:mo>+</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Gr = G sub s s sub G + G sub d d sub G : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Gr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- <mml:mo>+</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Br = B sub s s sub B + B sub d d sub B : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Br</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- <mml:mo>+</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Ar = A sub s s sub A + A sub d d sub A : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Ar</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- <mml:mo>+</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- </row>
- <row>
- <entry align="left">
- <constant>GL_FUNC_SUBTRACT</constant>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Rr = R sub s s sub R - R sub d d sub R : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Rr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Gr = G sub s s sub G - G sub d d sub G : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Gr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Br = B sub s s sub B - B sub d d sub B : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Br</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Ar = A sub s s sub A - A sub d d sub A : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Ar</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- </row>
- <row>
- <entry align="left">
- <constant>GL_FUNC_REVERSE_SUBTRACT</constant>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Rr = R sub d d sub R - R sub s s sub R : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Rr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">R</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Gr = G sub d d sub G - G sub s s sub G : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Gr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">G</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Br = B sub d d sub B - B sub s s sub B : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Br</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">B</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Ar = A sub d d sub A - A sub s s sub A : -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Ar</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">d</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- <mml:mo>-</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- <mml:mo>⁢</mml:mo>
- <mml:msub><mml:mi mathvariant="italic">s</mml:mi>
- <mml:mi mathvariant="italic">A</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- </row>
- <row>
- <entry align="left">
- <constant>GL_MIN</constant>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Rr = min ( R sub s, R sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Rr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">min</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Gr = min ( G sub s, G sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Gr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">min</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Br = min ( B sub s, B sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Br</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">min</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Ar = min ( A sub s, A sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Ar</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">min</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- </row>
- <row>
- <entry align="left">
- <constant>GL_MAX</constant>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Rr = max ( R sub s, R sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Rr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">max</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">R</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Gr = max ( G sub s, G sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Gr</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">max</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">G</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- <informalequation><mml:math>
- <!-- eqn: Br = max ( B sub s, B sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Br</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">max</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">B</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- <entry align="left">
- <informalequation><mml:math>
- <!-- eqn: Ar = max ( A sub s, A sub d): -->
- <mml:mrow>
- <mml:mi mathvariant="italic">Ar</mml:mi>
- <mml:mo>=</mml:mo>
- <mml:mrow>
- <mml:mi mathvariant="italic">max</mml:mi>
- <mml:mo>⁡</mml:mo>
- <mml:mfenced open="(" close=")">
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">s</mml:mi>
- </mml:msub>
- </mml:mrow>
- <mml:mrow>
- <mml:msub><mml:mi mathvariant="italic">A</mml:mi>
- <mml:mi mathvariant="italic">d</mml:mi>
- </mml:msub>
- </mml:mrow>
- </mml:mfenced>
- </mml:mrow>
- </mml:mrow>
- </mml:math></informalequation>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- <para>
- The results of these equations are clamped to the range
- <inlineequation><mml:math>
- <!-- eqn: [0,1]: -->
- <mml:mfenced open="[" close="]">
- <mml:mn>0</mml:mn>
- <mml:mn>1</mml:mn>
- </mml:mfenced>
- </mml:math></inlineequation>.
- </para>
- <para>
- The <constant>GL_MIN</constant> and <constant>GL_MAX</constant> equations are useful for applications
- that analyze image data (image thresholding against a constant color,
- for example).
- The <constant>GL_FUNC_ADD</constant> equation is useful
- for antialiasing and transparency, among other things.
- </para>
- <para>
- Initially, both the RGB blend equation and the alpha blend equation are set to <constant>GL_FUNC_ADD</constant>.
- </para>
- <para>
- </para>
- </refsect1>
- <refsect1 id="notes"><title>Notes</title>
- <para>
- The <constant>GL_MIN</constant>, and <constant>GL_MAX</constant> equations do not use
- the source or destination factors, only the source and destination colors.
- </para>
- </refsect1>
- <refsect1 id="errors"><title>Errors</title>
- <para>
- <constant>GL_INVALID_ENUM</constant> is generated if <parameter>mode</parameter> is not one of
- <constant>GL_FUNC_ADD</constant>, <constant>GL_FUNC_SUBTRACT</constant>, <constant>GL_FUNC_REVERSE_SUBTRACT</constant>,
- <constant>GL_MAX</constant>, or <constant>GL_MIN</constant>.
- </para>
- <para>
- <constant>GL_INVALID_VALUE</constant> is generated by <function>glBlendEquationi</function> if <parameter>buf</parameter> is greater
- than or equal to the value of <constant>GL_MAX_DRAW_BUFFERS</constant>.
- </para>
- </refsect1>
- <refsect1 id="associatedgets"><title>Associated Gets</title>
- <para>
- <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_EQUATION_RGB</constant>
- </para>
- <para>
- <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with an argument of <constant>GL_BLEND_EQUATION_ALPHA</constant>
- </para>
- </refsect1>
- <refsect1 id="seealso"><title>See Also</title>
- <para>
- <citerefentry><refentrytitle>glBlendColor</refentrytitle></citerefentry>,
- <citerefentry><refentrytitle>glBlendFunc</refentrytitle></citerefentry>
- <citerefentry><refentrytitle>glBlendFuncSeparate</refentrytitle></citerefentry>
- </para>
- </refsect1>
- <refsect1 id="Copyright"><title>Copyright</title>
- <para>
- Copyright <trademark class="copyright"></trademark> 1991-2006
- Silicon Graphics, Inc. This document is licensed under the SGI
- Free Software B License. For details, see
- <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
- </para>
- </refsect1>
-</refentry>