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