YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, _vSrcAlphaBits > 模板结构体 参考

像素组合器。 更多...

#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 分量。 更多...
 

详细描述

template<size_t _vDstAlphaBits, size_t _vSrcAlphaBits>
struct YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, _vSrcAlphaBits >

像素组合器。

模板参数
_vDstAlphaBits目标 Alpha 位。
_vSrcAlphaBits源 Alpha 位。
前置条件
源和目标 Alpha (若存在)为归一化值(可以是浮点数或定点数)。
注解
结果 Alpha 位是源和目标 Alpha 位中的最大值(优先为目标 Alpha 类型)。
自从
build 439
待办事项:
支持推导返回类型。

在文件 YPixel.h92 行定义.

成员函数说明

template<size_t _vDstAlphaBits, size_t _vSrcAlphaBits>
template<typename _tDstAlpha , typename _tSrcAlpha >
static yconstfn ystdex::conditional_t<(_vDstAlphaBits < _vSrcAlphaBits), _tSrcAlpha, _tDstAlpha> YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, _vSrcAlphaBits >::CompositeAlphaOver ( _tDstAlpha  da,
_tSrcAlpha  sa 
)
inlinestatic

Alpha 组合 Alpha 分量。

a := 1 - (1 - sa) * (1 - da) = 1 - (1 - sa - da + sa * da) = sa + da - sa * da = sa + da * (1 - sa)

在文件 YPixel.h105 行定义.

参考自 YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, 0 >::CompositeAlphaOver().

这是这个函数的调用关系图:

template<size_t _vDstAlphaBits, size_t _vSrcAlphaBits>
template<typename _tDst , typename _tSrc , typename _tSrcAlpha , typename _tAlpha >
static yconstfn _tDst YSLib::Drawing::Shaders::GPixelCompositor< _vDstAlphaBits, _vSrcAlphaBits >::CompositeComponentOver ( _tDst  d,
_tSrc  s,
_tSrcAlpha  sa,
_tAlpha  a 
)
inlinestatic

该结构体的文档由以下文件生成: