Почему я получаю эту проблему рендеринга, когда я включаю смешивание? - PullRequest
0 голосов
/ 13 октября 2018

Я хочу сделать куб на прозрачном фоне.Я включил смешивание для этого и попытался установить альфа 0 для фона.Фон окна прозрачный.Если фон окна будет черным (черный цвет не из фона окна, я не уверен, почему он его рендерит), куб будет отображаться нормально.Когда я двигаюсь, это действует как рисунок белой кистью.Любая помощь, пожалуйста? картинка

struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC
{
    CD3D11_BLEND_DESC()
    {}
    explicit CD3D11_BLEND_DESC( const D3D11_BLEND_DESC& o ) :
        D3D11_BLEND_DESC( o )
    {}
    explicit CD3D11_BLEND_DESC( CD3D11_DEFAULT )
    {
        AlphaToCoverageEnable = FALSE;
        IndependentBlendEnable = TRUE; //FALSE;
        const D3D11_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =
        {
             TRUE, //FALSE, // 
             D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD, //D3D11_BLEND_SRC_ALPHA, D3D11_BLEND_INV_SRC_ALPHA, D3D11_BLEND_OP_ADD, //
            D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD, //
            D3D11_COLOR_WRITE_ENABLE_ALL, //0x0f  // 
        };
        for (UINT i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
            RenderTarget[ i ] = defaultRenderTargetBlendDesc;
    }
    ~CD3D11_BLEND_DESC() {}
    operator const D3D11_BLEND_DESC&() const { return *this; }
};
...
SLATE_BEGIN_ARGS( SViewport )
        : _Content()
        , _ShowEffectWhenDisabled(true)
        , _RenderDirectlyToWindow(true)
        , _EnableGammaCorrection(true)
        , _ReverseGammaCorrection(false)
        , _EnableBlending(true)
        , _EnableStereoRendering(false)
        , _PreMultipliedAlpha(true)  
        , _IgnoreTextureAlpha(false)
        , _ViewportSize(FVector2D(320.0f, 240.0f))
    ...
SceneColorBufferFormat = PF_FloatRGBA;
...