Super Sample Layer
m (added a few pictures) |
m |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | <!-- Page info --> | ||
+ | {{Title|Super Sample Layer}} | ||
+ | {{Category|Layers}} | ||
+ | {{Category|Other}} | ||
+ | {{NewTerminology}} | ||
+ | <!-- Page info end --> | ||
+ | |||
+ | {{l|Image:Layer_other_supersample_icon.png|64px}} | ||
+ | |||
+ | == About Super Sample Layers== | ||
+ | |||
The Super Sample layer is used to anti-alias all the layers under it. | The Super Sample layer is used to anti-alias all the layers under it. | ||
It isn't often needed, since most layers produce smooth output already. | It isn't often needed, since most layers produce smooth output already. | ||
+ | |||
+ | |||
+ | ==Parameters of Supersample Layer== | ||
+ | |||
+ | The parameters of the supersample layer are: | ||
+ | |||
+ | {|border="0" align="left" style="border-collapse" cellpadding="3" cellspacing="0" | ||
+ | |-style="background:#silver" | ||
+ | |'''Name'''||'''Value'''||'''Type''' | ||
+ | |-style="background:#" | ||
+ | ||{{l|Image:Type_integer_icon.png|16px}} Width | ||
+ | ||2 | ||
+ | ||integer | ||
+ | |||
+ | |-style="background:#eeeeee" | ||
+ | ||{{l|Image:Type_integer_icon.png|16px}} Height | ||
+ | ||2 | ||
+ | ||integer | ||
+ | |||
+ | |-style="background:#" | ||
+ | ||{{l|Image:Type_bool_icon.png|16px}} Use Parametric | ||
+ | || | ||
+ | {| style="width:16px; height:16px" border="1" | ||
+ | |- | ||
+ | |} | ||
+ | ||bool | ||
+ | |||
+ | |-style="background:#eeeeee" | ||
+ | ||{{l|Image:Type_bool_icon.png|16px}} Be Alpha Safe | ||
+ | || | ||
+ | {| style="width:16px; height:16px" border="1" | ||
+ | |- | ||
+ | |} | ||
+ | ||bool | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
You specify width and a height parameters. Internally, the scene is rendered <width> times wider and <height> times taller than the output image, and then each <width> by <height> block is averaged down to a single pixel. | You specify width and a height parameters. Internally, the scene is rendered <width> times wider and <height> times taller than the output image, and then each <width> by <height> block is averaged down to a single pixel. | ||
Line 9: | Line 71: | ||
This shows a zoomed image of an outline with anti-alias turned off, and without a supersample layer: | This shows a zoomed image of an outline with anti-alias turned off, and without a supersample layer: | ||
− | + | {{l|Image:Supersample-none.png}} | |
− | The 'Use Parametric' checkbox makes it use the | + | The 'Use Parametric' checkbox makes it use the {{l|parametric renderer}} rather than the default {{l|accelerated renderer}}. |
The 'Be Alpha Safe' checkbox makes the averaging process aware of the alpha channel. When 'Alpha Safe', the average is sum(color * alpha)/sum(alpha), with an alpha value of sum(alpha)/sum(1). When not 'Alpha Safe', the average is simply sum(color)/sum(1). | The 'Be Alpha Safe' checkbox makes the averaging process aware of the alpha channel. When 'Alpha Safe', the average is sum(color * alpha)/sum(alpha), with an alpha value of sum(alpha)/sum(1). When not 'Alpha Safe', the average is simply sum(color)/sum(1). | ||
Line 19: | Line 81: | ||
This is the same outline as before, but with a Super Sample layer over the top of it. This one is with 'Be Alpha Safe' enabled: | This is the same outline as before, but with a Super Sample layer over the top of it. This one is with 'Be Alpha Safe' enabled: | ||
− | + | {{l|Image:Supersample-safe.png}} | |
And this one is without 'Be Alpha Safe'. The background is a strong blue, but with a very low Alpha. The edges are much bluer than they would be if alpha was taken into account: | And this one is without 'Be Alpha Safe'. The background is a strong blue, but with a very low Alpha. The edges are much bluer than they would be if alpha was taken into account: | ||
− | + | {{l|Image:Supersample-unsafe.png}} | |
It's worth pointing out that the Super Sample layer is disabled when the 'quality' setting is 10 or higher. During editing, the quality is 10. | It's worth pointing out that the Super Sample layer is disabled when the 'quality' setting is 10 or higher. During editing, the quality is 10. | ||
If you want to see an example of what Super Sample does, create an outline and turn off it's anti-aliasing parameter. It will look jagged around the edges. Add a Super Sample layer over the top of it, save the file and render it to an image. Rendering with 'synfig -Q 10 file.sif' will leave it jagged, and 'synfig -Q 9 file.sif' will make it smoother. | If you want to see an example of what Super Sample does, create an outline and turn off it's anti-aliasing parameter. It will look jagged around the edges. Add a Super Sample layer over the top of it, save the file and render it to an image. Rendering with 'synfig -Q 10 file.sif' will leave it jagged, and 'synfig -Q 9 file.sif' will make it smoother. | ||
+ | |||
+ | == Examples == | ||
+ | |||
+ | {| | ||
+ | | width=1 height=1 | ||
+ | | {{l|Image:Perp-curve-gradient-3-ss1x1.png}} | ||
+ | | this is the same as not using Super Sample at all | ||
+ | |- | ||
+ | | width=2 height=2 | ||
+ | | {{l|Image:Perp-curve-gradient-3-ss2x2.png}} | ||
+ | | notice how there's only one intermediate color used to antialias in the very bottom right corner | ||
+ | |- | ||
+ | | width=3 height=3 | ||
+ | | {{l|Image:Perp-curve-gradient-3-ss3x3.png}} | ||
+ | | now two intermediate colors are used, and the result is smoother | ||
+ | |- | ||
+ | | width=4 height=4 | ||
+ | | {{l|Image:Perp-curve-gradient-3-ss4x4.png}} | ||
+ | | this looks good, but a 4x4 Super Sample layer increases the render time by a factor of 16 | ||
+ | |- | ||
+ | | width=1 height=4 | ||
+ | | {{l|Image:Perp-curve-gradient-3-ss1x4.png}} | ||
+ | | vertical lines are jagged, horizontal lines are smooth | ||
+ | |- | ||
+ | | width=4 height=1 | ||
+ | | {{l|Image:Perp-curve-gradient-3-ss4x1.png}} | ||
+ | | vertical lines are smooth, horizontal lines are jagged | ||
+ | |} |
Latest revision as of 13:05, 26 February 2017
About Super Sample Layers
The Super Sample layer is used to anti-alias all the layers under it.
It isn't often needed, since most layers produce smooth output already.
Parameters of Supersample Layer
The parameters of the supersample layer are:
Name | Value | Type |
Width | 2 | integer |
Height | 2 | integer |
Use Parametric |
|
bool |
Be Alpha Safe |
|
bool |
You specify width and a height parameters. Internally, the scene is rendered <width> times wider and <height> times taller than the output image, and then each <width> by <height> block is averaged down to a single pixel.
For example, the output image is 320x240 pixels, the width and height parameters of the Super Sample layer are both set to the default value of 2. Synfig will render a 640x480 image internally, and then average the 4 pixels in each 2x2 block down into a single pixel that it then uses in the output image.
This shows a zoomed image of an outline with anti-alias turned off, and without a supersample layer:
The 'Use Parametric' checkbox makes it use the Parametric renderer rather than the default Accelerated renderer.
The 'Be Alpha Safe' checkbox makes the averaging process aware of the alpha channel. When 'Alpha Safe', the average is sum(color * alpha)/sum(alpha), with an alpha value of sum(alpha)/sum(1). When not 'Alpha Safe', the average is simply sum(color)/sum(1).
For instance, consider averaging two pixels, one a completely transparent blue (R:0 G:0 B:1 A:0) and the other an opaque red (R:1 G:0 B:0 A:1). When being alpha safe, the average is (R:1 G:0 B:0 A:0.5). When not being alpha safe, the average is (R:0.5 G:0 B:0.5 A:0.5).
This is the same outline as before, but with a Super Sample layer over the top of it. This one is with 'Be Alpha Safe' enabled:
And this one is without 'Be Alpha Safe'. The background is a strong blue, but with a very low Alpha. The edges are much bluer than they would be if alpha was taken into account:
It's worth pointing out that the Super Sample layer is disabled when the 'quality' setting is 10 or higher. During editing, the quality is 10.
If you want to see an example of what Super Sample does, create an outline and turn off it's anti-aliasing parameter. It will look jagged around the edges. Add a Super Sample layer over the top of it, save the file and render it to an image. Rendering with 'synfig -Q 10 file.sif' will leave it jagged, and 'synfig -Q 9 file.sif' will make it smoother.
Examples
Language: |
English |