PFND3D11_1DDI_VIDEOPROCESSORSETSTREAMALPHA回调函数 (d3d10umddi.h)

设置视频处理器上输入流的平面 alpha。

语法

PFND3D11_1DDI_VIDEOPROCESSORSETSTREAMALPHA Pfnd3d111DdiVideoprocessorsetstreamalpha;

void Pfnd3d111DdiVideoprocessorsetstreamalpha(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11_1DDI_HVIDEOPROCESSOR unnamedParam2,
  UINT unnamedParam3,
  BOOL unnamedParam4,
  FLOAT unnamedParam5
)
{...}

参数

unnamedParam1

hDevice [in]

显示设备的句柄 (图形上下文) 。

unnamedParam2

hVideoProcessor [in]

通过调用 CreateVideoProcessor 函数创建的视频处理器对象的句柄。

unnamedParam3

StreamIndex [in]

输入流的从零开始的索引。

unnamedParam4

启用 [in]

如果 为 TRUE,则将在视频处理器上启用 alpha 混合。

unnamedParam5

Alpha [in]

指向指定平面 alpha 值的 FLOAT 值的指针。 该值的范围可以是透明) 0.0 (到 1.0 (不透明) 。

注意 如果 Enable 参数为 FALSE,则忽略此参数。
 

返回值

备注

默认情况下,alpha 混合处于禁用状态。

对于每个像素,目标颜色值的计算方式如下:

Cd = Cs * (As * Ap * Ae) + Cd * (1.0 - As * Ap * Ae)

其中:

  • Cd = 目标像素的颜色值
  • Cs = 源像素的颜色值
  • As = 每像素源 alpha
  • Ap = 平面 alpha 值
  • Ae = 调色板输入 alpha 值,或 1.0
注意调色板输入 alpha 值仅适用于淡化的颜色格式,并且仅当设备通过 GetVideoProcessorCaps 函数播发对 D3D11_1DDI_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE 功能的支持时。 否则,此因子等于 1.0。
 
目标 alpha 值是根据 alpha 填充模式计算的。 有关详细信息,请参阅 VideoProcessorSetOutputAlphaFillMode

驱动程序报告其为通过 GetVideoProcessorCaps 函数返回的D3D11_1DDI_VIDEO_PROCESSOR_CAPS结构中的输入流支持立体声 alpha 混合的能力。 如果驱动程序支持 D3D11_1DDI_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM 功能,则可以启用或禁用它以生成立体声视频帧。

注意 如果驱动程序不支持 D3D11_1DDI_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO 功能,则 Microsoft Direct3D 运行时不会调用 VideoProcessorSetStreamAlpha 函数。
 

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CreateVideoProcessor

D3D11_1DDI_VIDEO_PROCESSOR_CAPS

GetVideoProcessorCaps

VideoProcessorSetOutputAlphaFillMode