diff options
Diffstat (limited to 'manuals/chickadee/Blending.html')
-rw-r--r-- | manuals/chickadee/Blending.html | 116 |
1 files changed, 97 insertions, 19 deletions
diff --git a/manuals/chickadee/Blending.html b/manuals/chickadee/Blending.html index 4cf13a7..0a54bbe 100644 --- a/manuals/chickadee/Blending.html +++ b/manuals/chickadee/Blending.html @@ -85,40 +85,118 @@ ul.no-bullet {list-style: none} Next: <a href="Framebuffers.html" accesskey="n" rel="next">Framebuffers</a>, Previous: <a href="3D-Models.html" accesskey="p" rel="prev">3D Models</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> </div> <hr> -<span id="Blending-1"></span><h4 class="subsection">2.3.9 Blending</h4> +<span id="Blending-1"></span><h4 class="subsection">2.3.10 Blending</h4> <p>Rendering a scene often involves drawing layers of objects that overlap each other. Blending determines how two overlapping pixels are combined in the final image that is rendered to the screen. -Chickadee provides the following blend modes: </p> -<ul> -<li> <code>replace</code> -Use the latest color, ignoring all others. - -</li><li> <code>alpha</code> -Blend pixels according to the values of their alpha channels. This is -the most commonly used blend mode and thus is Chickadee’s default -mode. - -</li><li> <code>add</code> -Add all pixel color values together. The more colors blended +<p>Chickadee provides the following blend modes: +</p> +<dl> +<dt id="index-blend_003aalpha">Variable: <strong>blend:alpha</strong></dt> +<dd><p>Blend pixels according to the values of their alpha channels. This is +the most commonly used blend mode. +</p></dd></dl> + +<dl> +<dt id="index-blend_003areplace">Variable: <strong>blend:replace</strong></dt> +<dd><p>Overwrite the output pixel color with the color being drawn. +</p></dd></dl> + +<dl> +<dt id="index-blend_003aadd">Variable: <strong>blend:add</strong></dt> +<dd><p>Add all pixel color values together. The more colors blended together, the more white the final color becomes. +</p></dd></dl> -</li><li> <code>subtract</code> -Subtract all pixel color values. The more colors blended together, +<dl> +<dt id="index-blend_003asubtract">Variable: <strong>blend:subtract</strong></dt> +<dd><p>Subtract all pixel color values. The more colors blended together, the more black the final color becomes. +</p></dd></dl> -</li><li> <code>multiply</code> +<dl> +<dt id="index-blend_003amultiply">Variable: <strong>blend:multiply</strong></dt> +</dl> -</li><li> <code>darken</code> +<dl> +<dt id="index-blend_003adarken">Variable: <strong>blend:darken</strong></dt> +</dl> -</li><li> <code>lighten</code> +<dl> +<dt id="index-blend_003alighten">Variable: <strong>blend:lighten</strong></dt> +</dl> -</li><li> <code>screen</code> +<dl> +<dt id="index-blend_003ascreen">Variable: <strong>blend:screen</strong></dt> +</dl> +<p>Custom blend modes can be created using the <code>make-blend-mode</code> procedure: +</p> +<dl> +<dt id="index-make_002dblend_002dmode">Procedure: <strong>make-blend-mode</strong> <em>equation source-function destination-function</em></dt> +<dd><p>Return a new custom blend mode that applies <var>source-function</var> to +the source color, <var>destination-function</var> to the destination color, +and finally applies <var>equation</var> to the transformed +source/destination color values. These arguments are <em>not</em> +procedures, but symbolic representations of the functions that OpenGL +supports. +</p> +<p>Valid values for <var>equation</var> are: +</p> +<ul> +<li> <code>add</code> +</li><li> <code>subtract</code> +</li><li> <code>reverse-subtract</code> +</li><li> <code>min</code> +</li><li> <code>max</code> +</li><li> <code>alpha-min</code> +</li><li> <code>alpha-max</code> </li></ul> +<p>Valid values for <var>source-function</var> are: +</p> +<ul> +<li> <code>zero</code> +</li><li> <code>one</code> +</li><li> <code>destination-color</code> +</li><li> <code>one-minus-destination-color</code> +</li><li> <code>source-alpha-saturate</code> +</li><li> <code>source-alpha</code> +</li><li> <code>one-minus-source-alpha</code> +</li><li> <code>destination-alpha</code> +</li><li> <code>one-minus-destination-alpha</code> +</li><li> <code>constant-color</code> +</li><li> <code>one-minus-constant-color</code> +</li><li> <code>constant-alpha</code> +</li><li> <code>one-minus-constant-alpha</code> +</li></ul> + +<p>Valid values for <var>destination-function</var> are: +</p> +<ul> +<li> <code>zero</code> +</li><li> <code>one</code> +</li><li> <code>source-color</code> +</li><li> <code>one-minus-source-color</code> +</li><li> <code>source-alpha</code> +</li><li> <code>one-minus-source-alpha</code> +</li><li> <code>destination-alpha</code> +</li><li> <code>one-minus-destination-alpha</code> +</li><li> <code>constant-color</code> +</li><li> <code>one-minus-constant-color</code> +</li><li> <code>constant-alpha</code> +</li><li> <code>one-minus-constant-alpha</code> +</li></ul> + +</dd></dl> + +<hr> +<div class="header"> +<p> +Next: <a href="Framebuffers.html" accesskey="n" rel="next">Framebuffers</a>, Previous: <a href="3D-Models.html" accesskey="p" rel="prev">3D Models</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> +</div> |