Difference between revisions of "BlendMode Formulas (Français)"
(Created page with "Équations utilisées lorsque le contenu tracé est mélangé avec l'écran ou le Canvas actif. Les composantes de couleur sont généralement dans l'...") |
(→Voir également) |
||
Line 191: | Line 191: | ||
== Voir également == | == Voir également == | ||
* [[BlendMode (Français)|BlendMode]] | * [[BlendMode (Français)|BlendMode]] | ||
− | {{# | + | {{#set:Since=000}} |
== Autres langues == | == Autres langues == | ||
{{i18n|BlendMode Formulas}} | {{i18n|BlendMode Formulas}} |
Revision as of 20:59, 3 December 2021
Équations utilisées lorsque le contenu tracé est mélangé avec l'écran ou le Canvas actif.
Les composantes de couleur sont généralement dans l'étendue [0, 1] plutôt que [0, 255] dans leur utilisation avec ces équations. Les résultats sont limités à [0, 1], sauf lorsqu'un Canvas actifis a un format en virgule flottante / HDR.
Description:
- dst - couleur présente à l'écran.
- src - la couleur de l'objet tracé (couleur de sortie de l'ombrage (shader) de pixels, ou la couleur globale multipliée par la couleur de la texture – si elle existe, et si aucun ombrage n'est utilisé.)
- res - Couleur résultante.
Voici les formules des BlendMode (mode de mélange) pour toutes les versions 0.10.x et postérieures :
Contents
- 1 alpha
- 2 add
- 3 subtract
- 4 Remplace
- 5 multiply
- 6 lighten
- 7 darken
- 8 screen
- 9 Versions plus anciennes
- 9.1 alpha (0.9.0, 0.9.1, and 0.9.2)
- 9.2 alpha (0.8.0 and older)
- 9.3 premultiplied (0.9.2 and older)
- 9.4 screen (0.9.2 and older)
- 9.5 additive (0.9.2 and older)
- 9.6 subtractive (0.9.2 and older)
- 9.7 multiplicative (0.9.0, 0.9.1, and 0.9.2)
- 9.8 multiplicative (0.8.0 and older)
- 9.9 replace (0.9.2 and older)
- 10 Voir également
- 11 Autres langues
alpha
"alphamultiply" alpha mode
res.r = dst.r * (1 - src.a) + src.r * src.a res.g = dst.g * (1 - src.a) + src.g * src.a res.b = dst.b * (1 - src.a) + src.b * src.a res.a = dst.a * (1 - src.a) + src.a
"premultiplied" alpha mode
res.r = dst.r * (1 - src.a) + src.r res.g = dst.g * (1 - src.a) + src.g res.b = dst.b * (1 - src.a) + src.b res.a = dst.a * (1 - src.a) + src.a
add
"alphamultiply" alpha mode
res.r = dst.r + (src.r * src.a) res.g = dst.g + (src.g * src.a) res.b = dst.b + (src.b * src.a) res.a = dst.a
"premultiplied" alpha mode
res.r = dst.r + src.r res.g = dst.g + src.g res.b = dst.b + src.b res.a = dst.a
subtract
"alphamultiply" alpha mode
res.r = dst.r - (src.r * src.a) res.g = dst.g - (src.g * src.a) res.b = dst.b - (src.b * src.a) res.a = dst.a
"premultiplied" alpha mode
res.r = dst.r - src.r res.g = dst.g - src.g res.b = dst.b - src.b res.a = dst.a
Remplace
"alphamultiply" alpha mode
res.r = src.r * src.a res.g = src.g * src.a res.b = src.b * src.a res.a = src.a
"premultiplied" alpha mode
res.r = src.r res.g = src.g res.b = src.b res.a = src.a
multiply
"premultiplied" alpha mode
res.r = src.r * dst.r res.g = src.g * dst.g res.b = src.b * dst.b res.a = src.a * dst.a
Note : dans les versions 0.10.x, multiply avec alphamultiply utilisent les mêmes équations qu'avec premultiplied. Dans les versions 11.0 et postérieures, la variation n'est plus supportée.
lighten
"premultiplied" alpha mode
res.r = max(src.r, dst.r) res.g = max(src.g, dst.g) res.b = max(src.b, dst.b) res.a = max(src.a, dst.a)
darken
"premultiplied" alpha mode
res.r = min(src.r, dst.r) res.g = min(src.g, dst.g) res.b = min(src.b, dst.b) res.a = min(src.a, dst.a)
screen
Note: Les calculs de ce mode de mélange n'est pas totalement coorect lorsque le mode alpha "alphamultiply" est utilisé. Préférez utiliser la variante « premultiplied » (et assurez vous que les RVB de sont contenu sont multipliée par son alpha avant ce mélange), lorsque possible.
"alphamultiply" alpha mode
res.r = dst.r * (1 - src.r) + (src.r * src.a) res.g = dst.g * (1 - src.g) + (src.g * src.a) res.b = dst.b * (1 - src.b) + (src.b * src.a) res.a = dst.a * (1 - src.a) + src.a
"premultiplied" alpha mode
res.r = dst.r * (1 - src.r) + src.r res.g = dst.g * (1 - src.g) + src.g res.b = dst.b * (1 - src.b) + src.b res.a = dst.a * (1 - src.a) + src.a
Versions plus anciennes
alpha (0.9.0, 0.9.1, and 0.9.2)
res.r = dst.r * (1 - src.a) + src.r * src.a res.g = dst.g * (1 - src.a) + src.g * src.a res.b = dst.b * (1 - src.a) + src.b * src.a res.a = dst.a * (1 - src.a) + src.a
alpha (0.8.0 and older)
res.r = dst.r * (1 - src.a) + src.r * src.a res.g = dst.g * (1 - src.a) + src.g * src.a res.b = dst.b * (1 - src.a) + src.b * src.a res.a = dst.a * (1 - src.a) + src.a * src.a
premultiplied (0.9.2 and older)
res.r = dst.r * (1 - src.a) + src.r res.g = dst.g * (1 - src.a) + src.g res.b = dst.b * (1 - src.a) + src.b res.a = dst.a * (1 - src.a) + src.a
screen (0.9.2 and older)
res.r = dst.r * (1 - src.r) + src.r res.g = dst.g * (1 - src.g) + src.g res.b = dst.b * (1 - src.b) + src.b res.a = dst.a * (1 - src.a) + src.a
additive (0.9.2 and older)
res.r = dst.r + (src.r * src.a) res.g = dst.g + (src.g * src.a) res.b = dst.b + (src.b * src.a) res.a = dst.a + (src.a * src.a)
subtractive (0.9.2 and older)
res.r = dst.r - src.r * src.a res.g = dst.g - src.g * src.a res.b = dst.b - src.b * src.a res.a = dst.a - src.a * src.a
multiplicative (0.9.0, 0.9.1, and 0.9.2)
res.r = src.r * dst.r res.g = src.g * dst.g res.b = src.b * dst.b res.a = src.a * dst.a
multiplicative (0.8.0 and older)
res.r = dst.r * (1 - src.a) + src.r * dst.r res.g = dst.g * (1 - src.a) + src.g * dst.g res.b = dst.b * (1 - src.a) + src.b * dst.b res.a = dst.a * (1 - src.a) + src.a * dst.a
replace (0.9.2 and older)
res.r = src.r res.g = src.g res.b = src.b res.a = src.a
Voir également
Autres langues
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info