logik-matchbookhttps://logik-matchbook.org:443/2024-02-25T14:42:06Zhttps://logik-matchbook.org:443/updates/1469Shader updated: nob_devignettelogik-matchbook guardian2024-02-25T14:42:06Z
<p>This Matchbox shader compensates for vignetting.</p>
<p>Up to four reference points can be defined as radii and the respective gain compensation, optionally separate for red, green & blue colour channels. The vignetting centre is treated as an implicit fifth point with unchanged gain.<br />
The shader calculates an even polynomial of eighth degree (in the radius from the vignetting centre) to interpolate those points.<br />
This kind of interpolation may lead to undesired oscillations for higher numbers of data points. However with sensible spacing of radii and lens vignetting being a rather smooth function, so to say, oscillations or overshoot is hardly an issue.</p>
<p>Note that this shader does not perform any image scaling or reformatting, so the operation may be incorrect if the result image format does not match the input image format.<br />
It is recommended to leave the canvas resolution as <Same As Input 1>.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>iterative update</p>
https://logik-matchbook.org:443/updates/1468Shader updated: nob_reframelogik-matchbook guardian2024-02-24T01:17:21Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length and camera orientation while maintaining the camera position.<br />
Image-wise only transformations are applied to acquire alternate view frames, thus brightness is retained and bokeh is transformed with the image (note that this can lead to deformed bokeh when extremely wide source FoV and strong off-centreing come together).</p>
<p>The <Image Height=""> parameter can be omitted if neither the source image nor the <Scaling Mode=""> is defined by the focal length.</Scaling></Image></p>
<p>The resulting image format can be customized to any canvas resolution, including but not limited to Flame <Scaling Presets="">. Downscaling images to smaller formats while applying reframing, rectification and rotation at the same time is a particular strength of this shader, since it performs all operations at the same time. In contrast to a multi-node pipeline, this circumvents multiple introductions of softness or aliasing from intermediate image manipulations.
Note that this shader uses <GL_NEAREST> texture filtering to conserve a maximum level of image detail, thus aliasing might be severe in certain cases if uncorrected. To counteract this, multisampling antialiasing can be activated, and the filter size enlarged (one may want to try to exhaust the number of samples first before using the <Softness> setting).</Softness></GL_NEAREST></Scaling></p>
<p>Since the combined transformations per pixel are well-behaved over the resulting frame (for typical use), an intermediate pass containing the UV coordinates is calculated. The final pass transforming the image itself then uses those UVs, which is where the antialiasing is also applied (for performance reasons). Note that this can cause a loss of information for the very border pixels that would ideally interpolate from antialiasing sample locations outside the frame too.<br />
To eliminate this error, one can specify a canvas resolution exactly 2 pixels wider & higher to then crop it back to the desired format using the <Resize & Crop> node.<br />
Take care to maintain correct pixel- & image aspect ratios between reframing & crop. Use the <Force Result="" PAR=""> selector if necessary.</Force></p>
<p>Upressing is best done with other means than this shader. Significant enlargements of small image viewports to a canvas of the same resolution as the input also might result in strong pixelation.<br />
If need be, one can output the intermediate (continuous) UV coordinates and feed them into an external filter better suited towards upressing. Note that when outputting UV coordinates, the Matte result is intentionally black to incentivize running it too through the external filter.</p>
<p>The shader correctly handles conversions between all source and result formats, no matter the image- and pixel aspect ratios. In cases of deviating image aspect ratios, the width of the virtual result is matched according to the relative image height (which is retained from the source).</p>
<p>Adaptive Degradation is supported by this shader, which conditionally bypasses antialiasing.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>iterative update</p>
https://logik-matchbook.org:443/updates/1467Shader updated: nob_devignettelogik-matchbook guardian2024-02-24T01:16:23Z
<p>This Matchbox shader compensates for vignetting.</p>
<p>Up to four reference points can be defined as radii and the respective gain compensation, optionally separate for red, green & blue colour channels. The vignetting centre is treated as an implicit fifth point with unchanged gain.<br />
The shader calculates an even polynomial of eighth degree (in the radius from the vignetting centre) to interpolate those points.<br />
This kind of interpolation may lead to undesired oscillations for higher numbers of data points. However with sensible spacing of radii and lens vignetting being a rather smooth function, so to say, oscillations or overshoot is hardly an issue.</p>
<p>Note that this shader does not perform any image scaling or reformatting, so the operation may be incorrect if the result image format does not match the input image format.<br />
It is recommended to leave the canvas resolution as <Same As Input 1>.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>fixed off-centreing</p>
https://logik-matchbook.org:443/updates/1466Shader updated: nob_devignettelogik-matchbook guardian2024-02-22T21:55:00Z
<p>This Matchbox shader compensates for vignetting.</p>
<p>Up to four reference points can be defined as radii and the respective gain compensation, optionally separate for red, green & blue colour channels. The vignetting centre is treated as an implicit fifth point with unchanged gain.<br />
The shader calculates an even polynomial of eighth degree (in the radius from the vignetting centre) to interpolate those points.<br />
This kind of interpolation may lead to undesired oscillations for higher numbers of data points. However with sensible spacing of radii and lens vignetting being a rather smooth function, so to say, oscillations or overshoot is hardly an issue.</p>
<p>Note that this shader does not perform any image scaling or reformatting, so the operation may be incorrect if the result image format does not match the input image format.<br />
It is recommended to leave the canvas resolution as <Same As Input 1>.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>improved processing pipeline through use of texelFetch</p>
https://logik-matchbook.org:443/updates/1465Shader updated: nob_reframelogik-matchbook guardian2024-02-22T21:49:35Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length and camera orientation while maintaining the camera position.<br />
Image-wise only transformations are applied to acquire alternate view frames, thus brightness is retained and bokeh is transformed with the image (note that this can lead to deformed bokeh when extremely wide source FoV and strong off-centreing come together).</p>
<p>The <Image Height=""> parameter can be omitted if neither the source image nor the <Scaling Mode=""> is defined by the focal length.</Scaling></Image></p>
<p>The resulting image format can be customized to any canvas resolution, including but not limited to Flame <Scaling Presets="">. Downscaling images to smaller formats while applying reframing, rectification and rotation at the same time is a particular strength of this shader, since it performs all operations at the same time. In contrast to a multi-node pipeline, this circumvents multiple introductions of softness or aliasing from intermediate image manipulations.
Note that this shader uses <GL_NEAREST> texture filtering to conserve a maximum level of image detail, thus aliasing might be severe in certain cases if uncorrected. To counteract this, multisampling antialiasing can be activated, and the filter size enlarged (one may want to try to exhaust the number of samples first before using the <Softness> setting).</Softness></GL_NEAREST></Scaling></p>
<p>Since the combined transformations per pixel are well-behaved over the resulting frame (for typical use), an intermediate pass containing the UV coordinates is calculated. The final pass transforming the image itself then uses those UVs, which is where the antialiasing is also applied (for performance reasons). Note that this can cause a loss of information for the very border pixels that would ideally interpolate from antialiasing sample locations outside the frame too.<br />
To eliminate this error, one can specify a canvas resolution exactly 2 pixels wider & higher to then crop it back to the desired format using the <Resize & Crop> node.<br />
Note that Flame may automatically & forcefully snap to the closest <Aspect Ratio="" Preset=""> which might be undesired behaviour. This can be compensated by using the <Force Result="" PAR=""> selector. While the image aspect ratio intermediate result between the two nodes will be incorrectly flagged, the <Resize & Crop> revises this error in that it too incorrectly handles aspect ratios. The image is cropped pixel-perfectly, yet the image aspect ratio is kept at the now correct target specification.</Force></Aspect></p>
<p>Upressing is best done with other means than this shader. Significant enlargements of small image viewports to a canvas of the same resolution as the input also might result in strong pixelation.<br />
If need be, one can output the intermediate (continuous) UV coordinates and feed them into an external filter better suited towards upressing. Note that when outputting UV coordinates, the Matte result is intentionally black to incentivize running it too through the external filter.</p>
<p>The shader correctly handles conversions between all source and result formats, no matter the image- and pixel aspect ratios. In cases of deviating image aspect ratios, the width of the virtual result is matched according to the relative image height (which is retained from the source).</p>
<p>Adaptive Degradation is supported by this shader, which conditionally bypasses antialiasing.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>improved processing pipeline through use of texelFetch</p>
https://logik-matchbook.org:443/updates/1464New shader: nob_reframelogik-matchbook guardian2024-02-21T20:39:55Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length and camera orientation while maintaining the camera position.<br />
Image-wise only transformations are applied to acquire alternate view frames, thus brightness is retained and bokeh is transformed with the image (note that this can lead to deformed bokeh when extremely wide source FoV and strong off-centreing come together).</p>
<p>The <Image Height=""> parameter can be omitted if neither the source image nor the <Scaling Mode=""> is defined by the focal length.</Scaling></Image></p>
<p>The resulting image format can be customized to any canvas resolution, including but not limited to Flame <Scaling Presets="">. Downscaling images to smaller formats while applying reframing, rectification and rotation at the same time is a particular strength of this shader, since it performs all operations at the same time. In contrast to a multi-node pipeline, this circumvents multiple introductions of softness or aliasing from intermediate image manipulations.
Note that this shader uses <GL_NEAREST> texture filtering to conserve a maximum level of image detail, thus aliasing might be severe in certain cases if uncorrected. To counteract this, multisampling antialiasing can be activated, and the filter size enlarged (one may want to try to exhaust the number of samples first before using the <Softness> setting).</Softness></GL_NEAREST></Scaling></p>
<p>Since the combined transformations per pixel are well-behaved over the resulting frame (for typical use), an intermediate pass containing the UV coordinates is calculated. The final pass transforming the image itself then uses those UVs, which is where the antialiasing is also applied (for performance reasons). Note that this can cause a loss of information for the very border pixels that would ideally interpolate from antialiasing sample locations outside the frame too.<br />
To eliminate this error, one can specify a canvas resolution exactly 2 pixels wider & higher to then crop it back to the desired format using the <Resize & Crop> node.<br />
Note that Flame may automatically & forcefully snap to the closest <Aspect Ratio="" Preset=""> which might be undesired behaviour. This can be compensated by using the <Force Result="" PAR=""> selector. While the image aspect ratio intermediate result between the two nodes will be incorrectly flagged, the <Resize & Crop> revises this error in that it too incorrectly handles aspect ratios. The image is cropped pixel-perfectly, yet the image aspect ratio is kept at the now correct target specification.</Force></Aspect></p>
<p>Upressing is best done with other means than this shader. Significant enlargements of small image viewports to a canvas of the same resolution as the input also might result in strong pixelation.<br />
If need be, one can output the intermediate (continuous) UV coordinates and feed them into an external filter better suited towards upressing. Note that when outputting UV coordinates, the Matte result is intentionally black to incentivize running it too through the external filter.</p>
<p>The shader correctly handles conversions between all source and result formats, no matter the image- and pixel aspect ratios. In cases of deviating image aspect ratios, the width of the virtual result is matched according to the relative image height (which is retained from the source).</p>
<p>Adaptive Degradation is supported by this shader, which conditionally bypasses antialiasing.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>iterative update</p>
https://logik-matchbook.org:443/updates/1463New shader: nob_devignettelogik-matchbook guardian2024-02-21T20:36:19Z
<p>This Matchbox shader compensates for vignetting.</p>
<p>Up to four reference points can be defined as radii and the respective gain compensation, optionally separate for red, green & blue colour channels. The vignetting centre is treated as an implicit fifth point with unchanged gain.<br />
The shader calculates an even polynomial of eighth degree (in the radius from the vignetting centre) to interpolate those points.<br />
This kind of interpolation may lead to undesired oscillations for higher numbers of data points. However with sensible spacing of radii and lens vignetting being a rather smooth function, so to say, oscillations or overshoot is hardly an issue.</p>
<p>Note that this shader does not perform any image scaling or reformatting, so the operation may be incorrect if the result image format does not match the input image format.<br />
It is recommended to leave the canvas resolution as <Same As Input 1>.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>iterative update</p>
https://logik-matchbook.org:443/updates/1462Shader updated: crok_tv_rgb_dotslogik-matchbook guardian2024-02-01T00:09:36Z
<p>This Matchbox shader simulates the typical RGB dots of old TVs.</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Cellsize : The size of a single RGB dot</li>
</ul>
<p>Shader developer: Daniil<br />
Based on https://www.shadertoy.com/view/4dX3DM</p>
<p>This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1461Shader updated: crok_scanlineslogik-matchbook guardian2024-02-01T00:02:22Z
<p>Matchbox shader simulates CRT phosphor / shadow mask arrangements.</p>
<p>Setup:</p>
<ul>
<li>RGB Bar</li>
<li>MG Bar</li>
<li>RGB Triad</li>
</ul>
<p>Based on Phosphor21x / http://filthypants.blogspot.de/2011/05/more-emulator-pixel-shaders-crt-updated.html<br />
Shader developer: Caligari</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1460Shader updated: crok_technicolorlogik-matchbook guardian2024-01-31T23:59:26Z
<p>This Matchbox shader simulates the 2-Striped and 3-Stripes look of old technicolor films.</p>
<p>Setup:</p>
<ul>
<li>Exposure: adjust exposure of the image</li>
<li>Amount: adjust amount of the bleachbypass process</li>
<li>Desaturate: adjust the saturation of the effect</li>
<li>Red, Green, Blue: adjust the individual color channels to finetune your look</li>
<li>Technicolor Look: 2-Strip and 3-Strip</li>
</ul>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1459Shader updated: crok_convolvelogik-matchbook guardian2024-01-31T23:12:52Z
<p>This Matchbox shader simulates a Convolve Blur.</p>
<p>Version 1.2a</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Quality: Blur Quality</li>
<li>Radius: Blur Radius</li>
</ul>
<p>Shader developer: Pitzik4<br />
Based on https://www.shadertoy.com/view/Xds3W8</p>
<p>This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1458Shader updated: crok_contourlogik-matchbook guardian2024-01-31T23:09:22Z
<p>This Matchbox shader creates a handdrawn style edge detect.</p>
<p>Input:</p>
<ul>
<li>Source Image: source image</li>
</ul>
<p>Setup:</p>
<ul>
<li>Resolution: resolution of the effect</li>
<li>Radius: radius of the created edges</li>
</ul>
<p>Based on http://www.forceflow.be/2010/04/14/contour-and-valley-detection-using-glsl/</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1457Shader updated: crok_2colorlogik-matchbook guardian2024-01-31T23:01:48Z
<p>This Matchbox shader simulates a 2 color look.</p>
<p>Setup:</p>
<ul>
<li>Amount: adjust amount of the effect</li>
<li>Tint: apply the colour to the low and highlights</li>
<li>High / Low: adjust the thresold for the Highs and Lows</li>
<li>Saturation: adjust the saturation</li>
<li>Brightness: adjust the brightness</li>
<li>Contrast: adjust the contrast</li>
<li>Exposure: adjust the exposure</li>
</ul>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1456Shader updated: crok_crosshatchlogik-matchbook guardian2024-01-31T22:56:43Z
<p>This Matchbox shader simulates a simple pencil sketch.</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Density : How close together hatch lines should be placed</li>
<li>Width : How wide hatch lines are drawn</li>
</ul>
<p>Shader developer: doomedbunnies<br />
Based on https://www.shadertoy.com/view/MdX3Dr</p>
<p>This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1455Shader updated: crok_cmyk_halftonelogik-matchbook guardian2024-01-31T22:48:52Z
<p>This Matchbox shader simulates CMYK Halftone patterns.</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Minimum : minimum pattern</li>
<li>Maximum : maximum pattern</li>
<li>Gain : brightness of the pattern</li>
<li>Scale: scale pattern</li>
</ul>
<p>Shader developer: tsone<br />
Based on https://www.shadertoy.com/view/Mdf3Dn</p>
<p>This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1454Shader updated: crok_bleachbypaslogik-matchbook guardian2024-01-31T22:42:26Z
<p>This Matchbox shader simulates a bleachbypass process.</p>
<p>Setup:</p>
<ul>
<li>Exposure: adjust exposure of the image</li>
<li>Amount: adjust amount of the bleachbypass process</li>
</ul>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1453Shader updated: crok_fast_grainlogik-matchbook guardian2024-01-31T22:25:33Z
<p>This Matchbox shader simulates a film like grain.</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Amount : how much grain is applied</li>
<li>Size : grain size</li>
<li>Coloured Grain : enables coloured grain</li>
<li>Colour : colour saturation of the grain</li>
<li>Luma : brightness of the grain</li>
</ul>
<p>Shader developer: martins upitis</p>
<p>Based on http://devlog-martinsh.blogspot.fr/2013/05/image-imperfections-and-film-grain-post.html</p>
<p>This work is licensed under a Creative Commons Attribution 3.0 Unported License.<br />
You are free to share, modify and adapt it for your needs, and even use it for commercial use.</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1452Shader updated: crok_bloomlogik-matchbook guardian2024-01-31T22:25:14Z
<p>This Matchbox shader simulates blooming.</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Offset: offsets the glow to gives a streak like effect</li>
<li>Size: glow size</li>
<li>Strength: glow strength</li>
</ul>
<p>Based on http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1451Shader updated: crok_dir_blurlogik-matchbook guardian2024-01-31T00:39:41Z
<p>This Matchbox shader creates a directional blur.</p>
<p>Version: 1.1a</p>
<p>Input:</p>
<ul>
<li>Front: source clip</li>
</ul>
<p>Output:</p>
<ul>
<li>Result: result clip</li>
</ul>
<p>Setup:</p>
<ul>
<li>Horizontal: blur amount</li>
<li>Vertical: blur amount</li>
<li>Iterations: number of steps to create the blur</li>
<li>Gain: gain applied to image</li>
</ul>
<p>Based on: https://github.com/drojdjou/squareroot.js/blob/gl/demo/soundviz/glsl/StrongBlur.glsl<br />
Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Modified default input to be Front</p>
https://logik-matchbook.org:443/updates/1450Shader updated: crok_vignettelogik-matchbook guardian2023-09-18T23:34:36Z
<p>This Matchbox creates a vignette effect.</p>
<p>Input:</p>
<ul>
<li>Front: Source image</li>
</ul>
<p>Setup:</p>
<ul>
<li>Color: vignette color</li>
<li>Radius: Radius of the vignette</li>
<li>Softness: softness of the vignette</li>
<li>Blend: strenght of the vignette effect</li>
<li>Center: vignette center position</li>
<li>Aspect: Aspect ratio of the vignette</li>
</ul>
<p>Demo clip: http://vimeo.com/110702478</p>
<p>Matchbox version by ivar@inferno-op.com</p>
<hr />
<p>Made the default input Front so it works in Image without having to manually change the input. Also removes extraneous inputs on the node in Batch</p>
https://logik-matchbook.org:443/updates/1449Shader updated: ak_chromablendlogik-matchbook guardian2023-09-02T12:33:12Z
<p>Chroma Blend</p>
<pre><code>Blend chroma values of front and back, including blur.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Bug fixes</p>
https://logik-matchbook.org:443/updates/1448New shader: ak_chromablendlogik-matchbook guardian2023-09-01T18:49:50Z
<p>Chroma Blend</p>
<pre><code>Blend chroma values of front and back, including blur.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Initial version</p>
https://logik-matchbook.org:443/updates/1447Shader updated: ak_colorcompresslogik-matchbook guardian2023-08-30T12:39:13Z
<p>Color Compressor through hue rotation around reference point</p>
<pre><code>Use to pull hue, sat, and exposure of the entire image closer to the values of the reference
color. Value of 0 is neutral. At maximum compression whole image will be solid of the reference
color. It honors an input matte to enable keying and masking of the effect.
The curve can be used to bias the effect strenght closer or further from the target color.
Most common use cases are to remove color variations in skin and products. Default target
color is skintone for that reason.
This should look familiar to anyone who used Resolves Color Compressor.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Fixing thumbnail</p>
https://logik-matchbook.org:443/updates/1446Shader updated: ak_vibrancelogik-matchbook guardian2023-08-30T12:38:29Z
<p>Vibrance Control<br />
based on code published at https://blog.ruofeidu.com/postprocessing-brightness-contrast-hue-saturation-vibrance/</p>
<pre><code>Value of 1.0 is neutral, larger values increase vibrance, lower decrease. 0.0 fully desaturated
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Fixing thumbnail</p>
https://logik-matchbook.org:443/updates/1445Shader updated: Reframelogik-matchbook guardian2023-08-27T21:54:32Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length and camera orientation while maintaining the camera position.<br />
Image-wise only transformations are applied to acquire alternate view frames, thus brightness is retained and bokeh is transformed with the image (note that this can lead to deformed bokeh when extremely wide source FoV and strong off-centreing come together).</p>
<p>The <Image Height=""> parameter can be omitted if neither the source image nor the <Scaling Mode=""> is defined by the focal length.</Scaling></Image></p>
<p>The resulting image format can be customized to any canvas resolution, including but not limited to Flame <Scaling Presets="">. Downscaling images to smaller formats while applying reframing, rectification and rotation at the same time is a particular strength of this shader, since it performs all operations at the same time. In contrast to a multi-node pipeline, this circumvents multiple introductions of softness or aliasing from intermediate image manipulations.
Note that this shader uses <GL_NEAREST> texture filtering to conserve a maximum level of image detail, thus aliasing might be severe in certain cases if uncorrected. To counteract this, multisampling antialiasing can be activated, and the filter size enlarged (one may want to try to exhaust the number of samples first before using the <Softness> setting).</Softness></GL_NEAREST></Scaling></p>
<p>Since the combined transformations per pixel are well-behaved over the resulting frame (for typical use), an intermediate pass containing the UV coordinates is calculated. The final pass transforming the image itself then uses those UVs, which is where the antialiasing is also applied (for performance reasons). Note that this can cause a loss of information for the very border pixels that would ideally interpolate from antialiasing sample locations outside the frame too.<br />
To eliminate this error, one can specify a canvas resolution exactly 2 pixels wider & higher to then crop it back to the desired format using the <Resize & Crop> node.<br />
Note that Flame may automatically & forcefully snap to the closest <Aspect Ratio="" Preset=""> which might be undesired behaviour. This can be compensated by using the <Force Result="" PAR=""> selector. While the image aspect ratio intermediate result between the two nodes will be incorrectly flagged, the <Resize & Crop> revises this error in that it too incorrectly handles aspect ratios. The image is cropped pixel-perfectly, yet the image aspect ratio is kept at the now correct target specification.</Force></Aspect></p>
<p>Upressing is best done with other means than this shader. Significant enlargements of small image viewports to a canvas of the same resolution as the input also might result in strong pixelation.<br />
If need be, one can output the intermediate (continuous) UV coordinates and feed them into an external filter better suited towards upressing. Note that when outputting UV coordinates, the Matte result is intentionally black to incentivize running it too through the external filter.</p>
<p>The shader correctly handles conversions between all source and result formats, no matter the image- and pixel aspect ratios. In cases of deviating image aspect ratios, the width of the virtual result is matched according to the relative image height (which is retained from the source).</p>
<p>Adaptive Degradation is supported by this shader, which conditionally bypasses antialiasing.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>relaxed version requirement of GLSL to 130</p>
https://logik-matchbook.org:443/updates/1444Shader updated: nob_Devignettinglogik-matchbook guardian2023-08-27T19:14:31Z
<p>This Matchbox shader compensates for vignetting.</p>
<p>Up to four reference points can be defined as radii and the respective gain compensation, optionally separate for red, green & blue colour channels. The vignetting centre is treated as an implicit fifth point with unchanged gain.<br />
The shader calculates an even polynomial of eighth degree (in the radius from the vignetting centre) to interpolate those points.<br />
This kind of interpolation may lead to undesired oscillations for higher numbers data points. However with sensible spacing of radii and lens vignetting being a rather smooth function, so to say, oscillations or overshoot is hardly an issue.</p>
<p>Note that this shader does not perform any image scaling or reformatting, so the operation may be incorrect if the result image format does not match the input image format.<br />
It is recommended to leave the canvas resolution as <Same As Input 1>.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>reduced GLSL version to 130 for better compatibility</p>
https://logik-matchbook.org:443/updates/1443New shader: nob_Devignettinglogik-matchbook guardian2023-08-27T17:28:15Z
<p>This Matchbox shader compensates for vignetting.</p>
<p>Up to four reference points can be defined as radii and the respective gain compensation, optionally separate for red, green & blue colour channels. The vignetting centre is treated as an implicit fifth point with unchanged gain.<br />
The shader calculates an even polynomial of eighth degree (in the radius from the vignetting centre) to interpolate those points.<br />
This kind of interpolation may lead to undesired oscillations for higher numbers data points. However with sensible spacing of radii and lens vignetting being a rather smooth function, so to say, oscillations or overshoot is hardly an issue.</p>
<p>Note that this shader does not perform any image scaling or reformatting, so the operation may be incorrect if the result image format does not match the input image format.<br />
It is recommended to leave the canvas resolution as <Same As Input 1>.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>initial version of the shader</p>
https://logik-matchbook.org:443/updates/1442Shader updated: ak_texturecontrollogik-matchbook guardian2023-08-26T04:38:11Z
<p>Texture Control</p>
<pre><code>5-band sharpening/blur control with range control.
Negative values sharpen, positive values soften.
All the range values must be in sequence or it may not work properly. Exact range values
may depend on resolution. Some experimentation may be required.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Updated XML to better work in Image node</p>
https://logik-matchbook.org:443/updates/1441New shader: ak_texturecontrollogik-matchbook guardian2023-08-25T01:11:10Z
<p>Texture Control</p>
<pre><code>5-band sharpening/blur control with range control.
Negative values sharpen, positive values soften.
All the range values must be in sequence or it may not work properly. Exact range values
may depend on resolution. Some experimentation may be required.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Initial version</p>
https://logik-matchbook.org:443/updates/1440Shader updated: Reframelogik-matchbook guardian2023-08-24T21:19:17Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length and camera orientation while maintaining the camera position.<br />
Image-wise only transformations are applied to acquire alternate view frames, thus brightness is retained and bokeh is transformed with the image (note that this can lead to deformed bokeh when extremely wide source FoV and strong off-centreing come together).</p>
<p>The <Image Height=""> parameter can be omitted if neither the source image nor the <Scaling Mode=""> is defined by the focal length.</Scaling></Image></p>
<p>The resulting image format can be customized to any canvas resolution, including but not limited to Flame <Scaling Presets="">. Downscaling images to smaller formats while applying reframing, rectification and rotation at the same time is a particular strength of this shader, since it performs all operations at the same time. In contrast to a multi-node pipeline, this circumvents multiple introductions of softness or aliasing from intermediate image manipulations.
Note that this shader uses <GL_NEAREST> texture filtering to conserve a maximum level of image detail, thus aliasing might be severe in certain cases if uncorrected. To counteract this, multisampling antialiasing can be activated, and the filter size enlarged (one may want to try to exhaust the number of samples first before using the <Softness> setting).</Softness></GL_NEAREST></Scaling></p>
<p>Since the combined transformations per pixel are well-behaved over the resulting frame (for typical use), an intermediate pass containing the UV coordinates is calculated. The final pass transforming the image itself then uses those UVs, which is where the antialiasing is also applied (for performance reasons). Note that this can cause a loss of information for the very border pixels that would ideally interpolate from antialiasing sample locations outside the frame too.<br />
To eliminate this error, one can specify a canvas resolution exactly 2 pixels wider & higher to then crop it back to the desired format using the <Resize & Crop> node.<br />
Note that Flame may automatically & forcefully snap to the closest <Aspect Ratio="" Preset=""> which might be undesired behaviour. This can be compensated by using the <Force Result="" PAR=""> selector. While the image aspect ratio intermediate result between the two nodes will be incorrectly flagged, the <Resize & Crop> revises this error in that it too incorrectly handles aspect ratios. The image is cropped pixel-perfectly, yet the image aspect ratio is kept at the now correct target specification.</Force></Aspect></p>
<p>Upressing is best done with other means than this shader. Significant enlargements of small image viewports to a canvas of the same resolution as the input also might result in strong pixelation.<br />
If need be, one can output the intermediate (continuous) UV coordinates and feed them into an external filter better suited towards upressing. Note that when outputting UV coordinates, the Matte result is intentionally black to incentivize running it too through the external filter.</p>
<p>The shader correctly handles conversions between all source and result formats, no matter the image- and pixel aspect ratios. In cases of deviating image aspect ratios, the width of the virtual result is matched according to the relative image height (which is retained from the source).</p>
<p>Adaptive Degradation is supported by this shader, which conditionally bypasses antialiasing.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>improved wording</p>
https://logik-matchbook.org:443/updates/1439Shader updated: Reframelogik-matchbook guardian2023-08-24T21:04:30Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length and camera orientation while maintaining the camera position.<br />
Image-wise only transformations are applied to acquire alternate view frames, thus brightness is retained and bokeh is transformed with the image (note that this can lead to deformed bokeh when extremely wide source FoV and strong off-centreing come together).</p>
<p>The <Image Height=""> parameter can be omitted if neither the source image nor the <Scaling Mode=""> is defined by the focal length.</Scaling></Image></p>
<p>The resulting image format can be customized to any canvas resolution, including but not limited to Flame <Scaling Presets="">. Downscaling images to smaller formats while applying reframing, rectification and rotation at the same time is a particular strength of this shader, since it performs all operations at the same time. In contrast to a multi-node pipeline, this circumvents multiple introductions of softness or aliasing from intermediate image manipulations.
Note that this shader uses <GL_NEAREST> texture filtering to conserve a maximum level of image detail, thus aliasing might be severe in certain cases if uncorrected. To counteract this, multisampling antialiasing can be activated, and the filter size enlarged (one may want to try to exhaust the number of samples first before using the <Softness> setting).</Softness></GL_NEAREST></Scaling></p>
<p>Since the combined transformations per pixel are well-behaved over the resulting frame (for typical use), an intermediate pass containing the UV coordinates is calculated. The final pass transforming the image itself then uses those UVs, which is where the antialiasing is also applied (for performance reasons). Note that this can cause a loss of information for the very border pixels that would ideally interpolate from antialiasing sample locations outside the frame too.<br />
To eliminate this error, one can specify a canvas resolution exactly 2 pixels wider & higher to then crop it back to the desired format using the <Resize & Crop> node.<br />
Note that Flame may automatically & forcefully snap to the closest <Aspect Ratio="" Preset=""> which might be undesired behaviour. This can be compensated by using the <Force Result="" PAR=""> selector. While the image aspect ratio intermediate result between the two nodes will be incorrectly flagged, the <Resize & Crop> revises this error in that it too incorrectly handles aspect ratios. The image is cropped pixel-perfectly, yet the image aspect ratio is kept at the now correct target specification.</Force></Aspect></p>
<p>Upressing is best done with other means than this shader. Significant enlargements of small image viewports to a canvas of the same resolution as the input also might result in strong pixelation.<br />
If need be, one can output the intermediate (continuous) UV coordinates and feed them into an external filter better suited towards upressing. Note that when outputting UV coordinates, the Matte result is intentionally black to incentivize running it too through the external filter.</p>
<p>The shader correctly handles conversions between all source and result formats, no matter the image- and pixel aspect ratios. In cases of deviating image aspect ratios, the width of the virtual result is matched according to the relative image height (which is retained from the source).</p>
<p>Adaptive Degradation is supported by this shader, which conditionally bypasses antialiasing.</p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>fixed an error that could lead to incorrect emulation of perspective for some configurations of source & target FoV bases<br />
rotation is now applied before the change of perspective<br />
introduced scaling correction for image rectification<br />
added rotation compensation on transformation<br />
added a control for the antialiasing softness<br />
added controls for result pixel aspect ratio override<br />
reworked interface to make proper use of the 6- and 3 column layouts<br />
tweaked default values & increments of certain controls to enhance user experience<br />
improved accuracy of antialiasing sample accumulation through algebraic and geometric summation optimizations<br />
significantly sped up shader compile time<br />
massively improved antialiasing performance<br />
fixed shader thumbnail<br />
minor changes & fixes</p>
https://logik-matchbook.org:443/updates/1438Shader updated: KE_OOlogik-matchbook guardian2023-08-24T16:30:06Z
<p>Object Obliterator in a node!</p>
<p>Requires a front and matte input.<br />
Increase Blur until the black goes away.<br />
For more blurring, use Blur After Divide.<br />
Optionally, you can grab texture from a different part of the frame to cover the blurred area.<br />
The retexturing is a simple subtract/add, similar to a regrain operation.</p>
<p>Note that the matte output is the matte AFTER the blurring.<br />
So if you want to regrain, you should use your original matte, not the output of the node.</p>
<p>Based on Renee’s Object Obliterator:<br />
https://forum.logik.tv/t/renee-tymns-object-obliterator/4049</p>
<hr />
<p>Version .65:<br />
Fixed XML Increment values</p>
https://logik-matchbook.org:443/updates/1437Shader updated: KE_OOlogik-matchbook guardian2023-08-24T16:22:34Z
<p>Object Obliterator in a node!</p>
<p>Requires a front and matte input.<br />
Increase Blur until the black goes away.<br />
For more blurring, use Blur After Divide.<br />
Optionally, you can grab texture from a different part of the frame to cover the blurred area.<br />
The retexturing is a simple subtract/add, similar to a regrain operation.</p>
<p>Note that the matte output is the matte AFTER the blurring.<br />
So if you want to regrain, you should use your original matte, not the output of the node.</p>
<p>Based on Renee’s Object Obliterator:<br />
https://forum.logik.tv/t/renee-tymns-object-obliterator/4049</p>
<hr />
<p>Version .6:<br />
•Prevented divide-by-zero errors<br />
•Added ‘Proportional’ option to blurs<br />
•Added ‘Blur Offset’ to source the blur from a different part of the frame<br />
•Both offsets are now per mille (‰) instead of percent for better control</p>
https://logik-matchbook.org:443/updates/1436Shader updated: Reframelogik-matchbook guardian2023-08-21T00:24:38Z
<p>This Matchbox shader reframes a shot with respect to perspective distortion.</p>
<p>The concept of this shader is to simulate a different focal length alongside a different camera orientation (while maintaining the camera position).<br />
Image-wise only trasformations are applied in order to acquire alternate viewframes, thus brightness is conserved and bokeh is transformed with the image (note that this can lead to defomrmed bokeh when extremely wide source FoV, and strong off-centering come together).<br />
The resulting image format can be customized to any canvas resolution, the width of the virtual image is matched according to the relative image height (which is conserved).<br />
If the the image parameters are set to use a field of view angle rather than a focal length, the image height can be omitted. Note that the shader still uses the image height if the scaling mode is set to <Focal Length="">.</Focal></p>
<p>The source image must be free of lens distortion for the process to function properly. Therefore this shader features a basic image rectification.</p>
<p>Additionally this shader provides the option of outputting (continuous) UV coordinates.</p>
<p>Adaptive Degradation is supported by this shader which conditionally bypasses antialiasing.</p>
<p>While this shader works quite well when downscaling (using antialiasing), its unsuited for upressing.<br />
Note that this shader uses <GL_NEAREST> texture filtering, and prone to aliasing. To counteract this, multisampling antialiasing can be activated from the Settings Page.</GL_NEAREST></p>
<p>This shader is licensed under the terms of the MIT license.</p>
<p>For questions contact:<br />
nobbl211@gmail.com</p>
<hr />
<p>Improved consistency of the distortion correction and minor changes & fixes</p>
https://logik-matchbook.org:443/updates/1435Shader updated: ak_skinoverlaylogik-matchbook guardian2023-08-18T12:31:32Z
<p>Displays a hue difference overlay from the skintone line</p>
<pre><code>To use, add after Mastergrade or other operators, use as context view while adjusting grade.
Goal is to center the skintone in image with the best overlay coverage. Either shift entire
image or use curves and keyers to address only specific ranges.
Boundary color are to making over and under more obvious.
Adjust tolerance to your needs. Default of 1.5 is a narror range for precision.
Utilize the HighPass Filter and the post processes to reduce a noisy mask.
HighPass Filter ignors any pixels where either of the HSV values are below threshold, which
often make for unreliable hue readings.
Post processes can blur, erode or dialte the mask.
The input gamma has no effect on the math of the mask, it soley influeces the overlay colors.
Matchbox shader by Jan Klier https://www.janklier.com
Blur filter based on Pyramid blur in ADSK shader samples
Erode/Dialte filter based on code from https://github.com/kajott/GIPS
</code></pre>
https://logik-matchbook.org:443/updates/1434Shader updated: ak_skinoverlaylogik-matchbook guardian2023-08-14T22:29:42Z
<p>Displays a hue difference overlay from the skintone line</p>
<pre><code>To use, add after Mastergrade or other operators, use as context view while adjusting grade.
Goal is to center the skintone in image with the best overlay coverage. Either shift entire
image or use curves and keyers to address only specific ranges.
Boundary color are to making over and under more obvious.
Adjust tolerance to your needs. Default of 1.5 is a narror range for precision.
Utilize the HighPass Filter and the post processes to reduce a noisy mask.
HighPass Filter ignors any pixels where either of the HSV values are below threshold, which
often make for unreliable hue readings.
Post processes can blur, erode or dialte the mask.
The input gamma has no effect on the math of the mask, it soley influeces the overlay colors.
Matchbox shader by Jan Klier https://www.janklier.com
Blur filter based on Pyramid blur in ADSK shader samples
Erode/Dialte filter based on code from https://github.com/kajott/GIPS
</code></pre>
<hr />
<p>Added colorspace support and matte post processing</p>
https://logik-matchbook.org:443/updates/1433New shader: ak_vibrancelogik-matchbook guardian2023-08-12T20:44:18Z
<p>Vibrance Control<br />
based on code published at https://blog.ruofeidu.com/postprocessing-brightness-contrast-hue-saturation-vibrance/</p>
<pre><code>Value of 1.0 is neutral, larger values increase vibrance, lower decrease. 0.0 fully desaturated
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Initial Version</p>
https://logik-matchbook.org:443/updates/1432New shader: ak_skinoverlaylogik-matchbook guardian2023-08-12T20:43:59Z
<p>Displays a hue difference overlay from the skintone line</p>
<pre><code>To use, add after Mastergrade or other operators, use as context view while adjusting grade.
Goal is to center the skintone in image with the best overlay coverage. Either shift entire
image or use curves and keyers to address only specific ranges.
Boundary color are to making over and under more obvious.
Adjust tolerance to your needs. Default of 1.5 is a narror range for precision.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
https://logik-matchbook.org:443/updates/1431New shader: ak_skineoverlaylogik-matchbook guardian2023-08-12T20:43:59Z
<p>Initial Version</p>
https://logik-matchbook.org:443/updates/1430New shader: ak_colorcompresslogik-matchbook guardian2023-08-12T20:43:26Z
<p>Color Compressor through hue rotation around reference point</p>
<pre><code>Use to pull hue, sat, and exposure of the entire image closer to the values of the reference
color. Value of 0 is neutral. At maximum compression whole image will be solid of the reference
color. It honors an input matte to enable keying and masking of the effect.
The curve can be used to bias the effect strenght closer or further from the target color.
Most common use cases are to remove color variations in skin and products. Default target
color is skintone for that reason.
This should look familiar to anyone who used Resolves Color Compressor.
Matchbox shader by Jan Klier https://www.janklier.com
</code></pre>
<hr />
<p>Initial version</p>