DirectX中的ChromaKey

问题描述 投票:0回答:1

我需要使用Direct2d实现某些色度键功能。

我有一些来自MSDN的代码示例:

ComPtr<ID2D1Effect> chromakeyEffect;
m_d2dContext->CreateEffect(CLSID_D2D1ChromaKey, &chromakeyEffect);

chromakeyEffect->SetInput(0, bitmap);
chromaKeyEffect->SetValue(D2D1_CHROMAKEY_PROP_COLOR, {0.0f, 1.0f, 0.0f, 0.0f});
chromakeyEffect->SetValue(D2D1_CHROMAKEY_PROP_TOLERANCE, 0.2f);
chromakeyEffect->SetValue(D2D1_CHROMAKEY_PROP_INVERT_ALPHA, false);
chromakeyEffect->SetValue(D2D1_CHROMAKEY_PROP_FEATHER, false);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(chromakeyEffect.Get());
m_d2dContext->EndDraw();

但是,我在WinAPI中有点新。我们的平台具有ID3D11Device收益实例的功能,我收到DX11Texture作为输入。我有两个问题:1.如何从m_d2dContext获取ID3D11Device?2.如何从ID2D1Image获取DX11Texture

c++ direct2d direct3d11 dxgi chromakey
1个回答
1
投票
  1. 如何从ID3D11Device获取m_d2dContext?
© www.soinside.com 2019 - 2024. All rights reserved.