mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-28 18:45:54 -05:00
Fixed invalid alpha blend mode.
This commit is contained in:
parent
cb024842b0
commit
9cc6d63e6f
1 changed files with 20 additions and 22 deletions
|
@ -24,20 +24,20 @@ namespace bgfx
|
|||
1,
|
||||
};
|
||||
|
||||
static const D3D11_BLEND s_blendFactor[] =
|
||||
static const D3D11_BLEND s_blendFactor[][2] =
|
||||
{
|
||||
(D3D11_BLEND)0, // ignored
|
||||
D3D11_BLEND_ZERO,
|
||||
D3D11_BLEND_ONE,
|
||||
D3D11_BLEND_SRC_COLOR,
|
||||
D3D11_BLEND_INV_SRC_COLOR,
|
||||
D3D11_BLEND_SRC_ALPHA,
|
||||
D3D11_BLEND_INV_SRC_ALPHA,
|
||||
D3D11_BLEND_DEST_ALPHA,
|
||||
D3D11_BLEND_INV_DEST_ALPHA,
|
||||
D3D11_BLEND_DEST_COLOR,
|
||||
D3D11_BLEND_INV_DEST_COLOR,
|
||||
D3D11_BLEND_SRC_ALPHA_SAT,
|
||||
{ (D3D11_BLEND)0, (D3D11_BLEND)0 }, // ignored
|
||||
{ D3D11_BLEND_ZERO, D3D11_BLEND_ZERO },
|
||||
{ D3D11_BLEND_ONE, D3D11_BLEND_ONE },
|
||||
{ D3D11_BLEND_SRC_COLOR, D3D11_BLEND_SRC_ALPHA },
|
||||
{ D3D11_BLEND_INV_SRC_COLOR, D3D11_BLEND_INV_SRC_ALPHA },
|
||||
{ D3D11_BLEND_SRC_ALPHA, D3D11_BLEND_SRC_ALPHA },
|
||||
{ D3D11_BLEND_INV_SRC_ALPHA, D3D11_BLEND_INV_SRC_ALPHA },
|
||||
{ D3D11_BLEND_DEST_ALPHA, D3D11_BLEND_DEST_ALPHA },
|
||||
{ D3D11_BLEND_INV_DEST_ALPHA, D3D11_BLEND_INV_DEST_ALPHA },
|
||||
{ D3D11_BLEND_DEST_COLOR, D3D11_BLEND_DEST_ALPHA },
|
||||
{ D3D11_BLEND_INV_DEST_COLOR, D3D11_BLEND_INV_DEST_ALPHA },
|
||||
{ D3D11_BLEND_SRC_ALPHA_SAT, D3D11_BLEND_SRC_ALPHA_SAT },
|
||||
};
|
||||
|
||||
static const D3D11_COMPARISON_FUNC s_depthFunc[] =
|
||||
|
@ -531,16 +531,14 @@ namespace bgfx
|
|||
uint32_t writeMask = (_state&BGFX_STATE_ALPHA_WRITE) ? D3D11_COLOR_WRITE_ENABLE_ALPHA : 0;
|
||||
writeMask |= (_state&BGFX_STATE_RGB_WRITE) ? D3D11_COLOR_WRITE_ENABLE_RED|D3D11_COLOR_WRITE_ENABLE_GREEN|D3D11_COLOR_WRITE_ENABLE_BLUE : 0;
|
||||
|
||||
drt.SrcBlend =
|
||||
drt.SrcBlendAlpha = s_blendFactor[src];
|
||||
drt.DestBlend =
|
||||
drt.DestBlendAlpha = s_blendFactor[dst];
|
||||
drt.BlendOp =
|
||||
drt.BlendOpAlpha = D3D11_BLEND_OP_ADD;
|
||||
|
||||
drt.SrcBlend = s_blendFactor[src];
|
||||
drt.DestBlend = s_blendFactor[dst];
|
||||
drt.SrcBlend = s_blendFactor[src][0];
|
||||
drt.DestBlend = s_blendFactor[dst][0];
|
||||
drt.BlendOp = D3D11_BLEND_OP_ADD;
|
||||
|
||||
drt.SrcBlendAlpha = s_blendFactor[src][1];
|
||||
drt.DestBlendAlpha = s_blendFactor[dst][1];
|
||||
drt.BlendOpAlpha = D3D11_BLEND_OP_ADD;
|
||||
|
||||
drt.RenderTargetWriteMask = writeMask;
|
||||
|
||||
DX_CHECK(m_device->CreateBlendState(&desc, &bs) );
|
||||
|
|
Loading…
Reference in a new issue