Transparency Dithering: Difference between revisions
Justin113D (talk | contribs) Adde dithering example |
Justin113D (talk | contribs) m Formatting |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Dithering, specifically transparency dithering is an effect to "emulate" transparency blending without having to actually carry the cost of blending. | |||
Dithering, specifically transparency dithering is an effect to "emulate" transparency blending without having to actually carry the cost of blending | |||
=== Applications === | |||
Transparency dithering is used | |||
# When using the [[Mesh_Layers#Punch-through|punch through]] render layer | |||
# To make otherwise opaque models see-through when they are covering something the game wants you to see (like the player character) | |||
=== Types of dithering === | |||
==== Pattern Dithering ==== | |||
A carefully crafted dithering texture is used to achieve dithering with a mostly consistent density of discarded pixels. | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
|style="width: 25%"|[[File:SXSG Dithering Texture.png|256px|The dithering texture used in Shadow Generations]] | |||
|style="width: 25%"|[[File:Linear Vertical Gradient 128x.png|256px|A linear gradient]] | |||
|style="width: 25%"|[[File:LinearDithering.png|256px|The linear gradient with dithering applied]] | |||
|style="width: 25%"|[[File:SXSG Dithering animation.gif|256px|A circle slowly dithering out]] | |||
|- | |||
|The dithering texture used in Shadow Generations | |||
|A linear gradient | |||
|The linear gradient with pattern dithering applied | |||
|A circle slowly dithering out | |||
|} | |||
This method of dithering is implemented in every shader that does not implement any other dithering method.* | |||
<nowiki>*</nowiki>only confirmed for Shadow Generations so far | |||
<div style="clear: both"></div> | <div style="clear: both"></div> | ||
==== Noise Dithering ==== | |||
A white-noise texture is used for random looking dithering. | |||
{| class="wikitable" style="width: 100%;" | |||
|- | |||
|style="width: 25%"|[[File:SXSG blue noise 256x red channel.png|256px]] | |||
|style="width: 25%"|[[File:Linear Vertical Gradient 128x.png|256px|A linear gradient]] | |||
|style="width: 25%"|[[File:SXSG Noise Dithering.png|256px]] | |||
|style="width: 25%"|[[File:SXSG Noise Dithering Animated.gif|256px]] | |||
|- | |||
|The red channel of the "blue_noise_256x" texture from Shadow Generations, which is used for noise dithering | |||
|A linear gradient | |||
|The linear gradient with noise dithering applied | |||
|The linear gradient with noise dithering applied, animated (a 4-frame loop) | |||
|} | |||
In Shadow Generations noise dithering is usually used in shaders with "dither" in their name, like [[Shadow Generations Shaders - Common_dither_dpn|Common_dither_dpn]]. Those shaders also support animating the dithering, as shown in the table, but it is currently unknown how to enable the animation. | |||
<div style="clear: both"/> | |||
=== Gallery === | === Gallery === | ||
<gallery perrow="4" widths="400" heights="300" mode="nolines"> | |||
File:SXSG Transparency Dithering Enemy.jpg|A GUN bot made see-through using dithering to make Shadow Visible in Shadow Generations | |||
File:SXSG Noise Dithering Ingame.png|A punch-through model in SXSG using the Common_dither_dpn shader with a clip threshold of 0 and a transparency of 0.3 | |||
</gallery> |
Latest revision as of 10:27, 2 August 2025
Dithering, specifically transparency dithering is an effect to "emulate" transparency blending without having to actually carry the cost of blending.
Applications
Transparency dithering is used
- When using the punch through render layer
- To make otherwise opaque models see-through when they are covering something the game wants you to see (like the player character)
Types of dithering
Pattern Dithering
A carefully crafted dithering texture is used to achieve dithering with a mostly consistent density of discarded pixels.
![]() |
![]() |
![]() |
![]() |
The dithering texture used in Shadow Generations | A linear gradient | The linear gradient with pattern dithering applied | A circle slowly dithering out |
This method of dithering is implemented in every shader that does not implement any other dithering method.*
*only confirmed for Shadow Generations so far
Noise Dithering
A white-noise texture is used for random looking dithering.
In Shadow Generations noise dithering is usually used in shaders with "dither" in their name, like Common_dither_dpn. Those shaders also support animating the dithering, as shown in the table, but it is currently unknown how to enable the animation.