# Basic Effect Properties

<a class="anchor" id="bkmrk--10"></a>CGI-Studio provides various effects, each of which have certain properties, which they can be configured with. Properties that apply to most of the CGI-Studio Blend Effects are described below.

#### <a class="anchor" id="bkmrk--11"></a>Filter

When the content of a node (e.g. a texture) should be displayed in a different size than its original size (this means if a magnification or a minification of the content is desired), filtering is applied.

<div class="contents" id="bkmrk-if-each-source-pixel"><div class="contents"><div class="textblock">- If each source pixel maps onto more than one destination pixel, this is known as *minification*.
- If each source pixel maps exactly onto one destination pixel, filtering is not applied.
- If each source pixel maps onto less than one destination pixel this is known as *magnification*.

</div></div></div>#### Values

<div class="contents" id="bkmrk-"><div class="contents"><div class="textblock"><div class="image"><div drawio-diagram="8636"><img src="https://doc316en.candera.eu/uploads/images/drawio/2025-10/drawing-5-1760710777.png" alt=""/></div>

</div><div class="image">  
</div></div></div></div>**NearestFilter**

Nearest-neighbor interpolation is the fastest and crudest filtering method — it simply uses the color of the source pixel closest to the center of the destination pixel for the pixel color. While fast, this results in a large number of artifacts - texture 'blockiness' during magnification, and aliasing and shimmering during minification.

**BilinearFilter**

Bilinear filtering is the next step up. In this method the four nearest source pixels to the center of the destination pixel are sampled (at the closest mipmap level), and their colors are combined by weighted average according to distance. This removes the 'blockiness' seen during magnification, as there is now a smooth gradient of color change from one source pixel to the next, instead of an abrupt jump as the center of the destination pixel crosses the source pixel boundary. Bilinear filtering is almost invariably used with mipmapping; though it can be used without, it would suffer the same aliasing and shimmering problems as nearest-neighbor filtering.

#### <a class="anchor" id="bkmrk--14"></a>Mip Map Filter

This setting is available for all effects using images and controls filtering when the image has a mipmap chain. This Mip Map Filter option is available for all platforms. However, it is applied on OpenGL based 2D implementations only.

#### <a class="anchor" id="bkmrk--15"></a>Values

<div class="contents" id="bkmrk--0"><div class="contents"><div class="textblock"><div class="image"><div drawio-diagram="8637"><img src="https://doc316en.candera.eu/uploads/images/drawio/2025-10/drawing-5-1760710941.png" alt=""/></div>

</div></div></div></div>**DisabledMipMapFilter**

Mipmap filtering is disabled and not applied.

**NearestMipMapFilter**

This method still uses nearest neighbor interpolation, but adds mipmapping — first the nearest mipmap level is chosen according to distance, then the nearest texel center is sampled to get the pixel color. This reduces the aliasing and shimmering significantly, but does not help with blockiness.

**LinearMipMapFilter**

For OpenGL devices LinearMipMapFiltering is a common standard filter mechanism. It is a required standard for all OpenGL versions. It uses nearest-neighbor sampling from individual mipmaps whilst linearly interpolating the two nearest mipmaps relevant to the sample.

#### ClippingArea

The Clipping Area can be configured for effects that use images. It specifies the area of the image to be rendered.

<div drawio-diagram="8608"><img src="https://doc316en.candera.eu/uploads/images/drawio/2025-10/drawing-5-1760093785.png" alt=""/></div>

This area is defined by its top-left position (Left, Top) and its dimensions (Width, Height). The default configuration, as shown in the image above, renders the entire image without applying any clipping.

#### <a class="anchor" id="bkmrk--17"></a>Blend Factor

Blending is the process of mixing color values of the pixels that are already drawn with those, that are about to be drawn. Blending parameters allow the source and destination colors for each output to be combined in various ways. The output for a combined color value is computed separately for each color component (red, green, blue). A combined transparency value is calculated using the source and destination alpha values.

In CGI Studio you can define a Color Blend Factor for Source and for Destination and a Color Blend Operation. The same applies for the Alpha value, where you can define Alpha Blend Factors for Source and Destination as well as an Alpha Blend Operation.

**Color Blend Settings** (with default values)

<div drawio-diagram="8638"><img src="https://doc316en.candera.eu/uploads/images/drawio/2025-10/drawing-5-1760711051.png" alt=""/></div>

**Alpha Blend Settings** (with default values)

<div drawio-diagram="8639"><img src="https://doc316en.candera.eu/uploads/images/drawio/2025-10/drawing-5-1760711081.png" alt=""/></div>

<div class="contents" id="bkmrk--7"><div class="contents"><div class="textblock"><div class="image">  
</div></div></div></div>#### <a class="anchor" id="bkmrk--19"></a>Computation of a Combined Color Value

Formula:

<div drawio-diagram="2809"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-02/drawing-4-1677552547.png" alt=""/></div>

<table border="1" class="align-left" id="bkmrk-node-provideimagepro" style="border-collapse: collapse; width: 654px; border-width: 1px; height: 59.6px;"><tbody><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 171.067px; height: 29.8px;"><span style="color: rgb(255, 255, 255);">**valueDST**</span></td><td class="align-left" style="width: 482.267px; height: 29.8px;">color value of destination (background) pixel to blend</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 171.067px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">valueSRC</span>**</td><td class="align-left" style="width: 482.267px; height: 29.8px;">color value of new scene graph element (source) pixel to blend</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 171.067px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">src\_blend\_factor</span>**</td><td class="align-left" style="width: 482.267px; height: 29.8px;">factor to multiply source pixel color value with</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 171.067px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">dst\_blend\_factor</span>**</td><td class="align-left" style="width: 482.267px; height: 29.8px;">factor to multiply destination pixel color value with</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 171.067px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">op</span>**</td><td class="align-left" style="width: 482.267px; height: 29.8px;">operation to combine multiplied source and destination values</td></tr></tbody></table>

<div class="contents" id="bkmrk--9"><div class="contents"><div class="textblock"><div class="image">  
</div></div></div></div>#### <a class="anchor" id="bkmrk--22"></a>Computation of a Combined Alpha Value

Formula:

<div drawio-diagram="2811"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-02/drawing-4-1677552574.png" alt=""/></div>

<table border="1" class="align-left" id="bkmrk-alphadst-alpha-value" style="border-collapse: collapse; width: 628px; border-width: 1px; height: 149px;"><tbody><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 166.583px; height: 29.8px;"><span style="color: rgb(255, 255, 255);">**alphaDST**</span></td><td class="align-left" style="width: 446.75px; height: 29.8px;">alpha value of destination (background) pixel to blend</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 166.583px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">alphaSRC</span>**</td><td class="align-left" style="width: 446.75px; height: 29.8px;">alpha value of new scene graph element (source) pixel to blend</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 166.583px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">src\_blend\_factor</span>**</td><td class="align-left" style="width: 446.75px; height: 29.8px;">factor to multiply source pixel alpha value with</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 166.583px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">dst\_blend\_factor</span>**</td><td class="align-left" style="width: 446.75px; height: 29.8px;">factor to multiply destination pixel alpha value with</td></tr><tr style="height: 29.8px;"><td class="align-left" style="background-color: rgb(53, 152, 219); width: 166.583px; height: 29.8px;">**<span style="color: rgb(255, 255, 255);">op</span>**</td><td class="align-left" style="width: 446.75px; height: 29.8px;">operation to combine multiplied source and destination alpha values</td></tr></tbody></table>

#### Values

<table border="1" id="bkmrk-value-%C2%A0-meaning-zero" style="border-collapse: collapse; width: 600px; border-width: 1px;"><tbody><tr><td style="background-color: rgb(53, 152, 219); width: 199.767px;"><span style="color: rgb(255, 255, 255);">**Value**</span></td><td style="background-color: rgb(53, 152, 219); width: 115.767px;"> </td><td style="background-color: rgb(53, 152, 219); width: 283.767px;"><span style="color: rgb(255, 255, 255);">**Meaning**</span></td></tr><tr><td style="width: 199.767px;">Zero</td><td style="width: 115.767px;">0</td><td style="width: 283.767px;">keep value as it is</td></tr><tr><td style="width: 199.767px;">One</td><td style="width: 115.767px;">1</td><td style="width: 283.767px;">ignore value</td></tr><tr><td style="width: 199.767px;">SourceColor</td><td style="width: 115.767px;">valueSRC</td><td style="width: 283.767px;">source color value</td></tr><tr><td style="width: 199.767px;">InverseSourceColor</td><td style="width: 115.767px;">(1 - valueSRC)</td><td style="width: 283.767px;">1 - source color value</td></tr><tr><td style="width: 199.767px;">SourceAlpha</td><td style="width: 115.767px;">alphaSRC</td><td style="width: 283.767px;">source alpha value</td></tr><tr><td style="width: 199.767px;">InverseSourceAlpha</td><td style="width: 115.767px;">(1 - alphaSRC)</td><td style="width: 283.767px;">1 - source alpha value</td></tr><tr><td style="width: 199.767px;">DestColor</td><td style="width: 115.767px;">valueDST</td><td style="width: 283.767px;">destination color value</td></tr><tr><td style="width: 199.767px;">InverseDestColor</td><td style="width: 115.767px;">(1 - valueDST)</td><td style="width: 283.767px;">1 - destination color value</td></tr><tr><td style="width: 199.767px;">DestAlpha</td><td style="width: 115.767px;">alphaDST</td><td style="width: 283.767px;">destination alpha value</td></tr><tr><td style="width: 199.767px;">InverseDestAlpha</td><td style="width: 115.767px;">(1 - alphaDST)</td><td style="width: 283.767px;">1 - destination alpha value</td></tr></tbody></table>

As shown in the equations in <span style="color: rgb(230, 126, 35);">[Computation of a Combined Color Value](#bkmrk-computation-of-a-com)</span> and <span style="color: rgb(230, 126, 35);">[Computation of a Combined Alpha Value](#bkmrk-computation-of-a-com-0)</span> the color and alpha blend factors determine the value by which each pixel is multiplied. Note that color and alpha values are normalized between 0.0 and 1.0 rather than using the 0 to 255 range.

#### <a class="anchor" id="bkmrk--28"></a>Blend Operation

The Blend Operation specifies how the destination and source pixel values are combined. In CGI Studio, the Blend Operation can be configured for the color (Color Blend Operation) and for the alpha value (Alpha Blend Operation).

#### <a class="anchor" id="bkmrk--29"></a>Values

<table border="1" id="bkmrk-value-operation-add-" style="border-collapse: collapse; width: 384px; border-width: 1px;"><tbody><tr><td style="background-color: rgb(53, 152, 219); width: 166.733px;"><span style="color: rgb(255, 255, 255);">**Value**</span></td><td style="background-color: rgb(53, 152, 219); width: 216.6px;"><span style="color: rgb(255, 255, 255);">**Operation**</span></td></tr><tr><td style="width: 166.733px;">Add</td><td style="width: 216.6px;">&lt;term1&gt; + &lt;term2&gt;</td></tr><tr><td style="width: 166.733px;">Subtract</td><td style="width: 216.6px;">&lt;term1&gt; - &lt;term2&gt;</td></tr><tr><td style="width: 166.733px;">ReverseSubtract</td><td style="width: 216.6px;">&lt;term2&gt; - &lt;term1&gt;</td></tr><tr><td style="width: 166.733px;">BitwiseAnd</td><td style="width: 216.6px;">  
</td></tr></tbody></table>

<div class="contents" id="bkmrk--30"><div class="textblock"><div class="image"></div></div></div>