YSTest
PreAlpha_b500_20140530
The YSLib Test Project
|
像素组合器。 更多...
#include <YPixel.h>
静态 Public 成员函数 | |
template<typename _tDstAlpha , typename _tSrcAlpha > | |
static yconstfn ystdex::conditional_t <(_vDstAlphaBits < _vSrcAlphaBits), _tSrcAlpha, _tDstAlpha > | CompositeAlphaOver (_tDstAlpha da, _tSrcAlpha sa) |
Alpha 组合 Alpha 分量。 更多... | |
template<typename _tDst , typename _tSrc , typename _tSrcAlpha , typename _tAlpha > | |
static yconstfn _tDst | CompositeComponentOver (_tDst d, _tSrc s, _tSrcAlpha sa, _tAlpha a) |
Alpha 组合非 Alpha 分量。 更多... | |
像素组合器。
_vDstAlphaBits | 目标 Alpha 位。 |
_vSrcAlphaBits | 源 Alpha 位。 |
|
inlinestatic |
Alpha 组合 Alpha 分量。
a := 1 - (1 - sa) * (1 - da) = 1 - (1 - sa - da + sa * da) = sa + da - sa * da = sa + da * (1 - sa)
参考自 YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, 0 >::CompositeAlphaOver().
|
inlinestatic |
Alpha 组合非 Alpha 分量。
a != 0 => c := (sa * s + (1 - sa) * da * d) / a = (sa * s + (a - sa) * d) / a = (sa * s + a * d - sa * d) / a = (sa * (s - d) + a * d) / a = sa * (s - d) / a + d
参考自 YSLib::Drawing::Shaders::BlendComponent(), YSLib::Drawing::Shaders::CompositeComponent(), YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, 0 >::CompositeComponentOver(), YSLib::Drawing::Shaders::GPixelCompositor< 1, _vSrcAlphaBits >::CompositeComponentOver(), YSLib::Drawing::Shaders::GPixelCompositor< 0, _vSrcAlphaBits >::CompositeComponentOver(), YSLib::Drawing::Shaders::GPixelCompositor< 0, 1 >::CompositeComponentOver() , 以及 YSLib::Drawing::Shaders::GPixelCompositor< 1, 1 >::CompositeComponentOver().