mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 19:53:48 +00:00
Merge branch 'alpha40_blendstateFix' of https://github.com/Azaezel/Torque3D into Preview4_0
This commit is contained in:
commit
0dfd167771
3 changed files with 26 additions and 6 deletions
|
|
@ -37,7 +37,7 @@ D3D11_FILL_MODE GFXD3D11FillMode[GFXFill_COUNT];
|
|||
D3D11_PRIMITIVE_TOPOLOGY GFXD3D11PrimType[GFXPT_COUNT];
|
||||
D3D11_TEXTURE_ADDRESS_MODE GFXD3D11TextureAddress[GFXAddress_COUNT];
|
||||
DXGI_FORMAT GFXD3D11DeclType[GFXDeclType_COUNT];
|
||||
|
||||
D3D11_BLEND GFXD3D11BlendAlpha[GFXBlend_COUNT];
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
void GFXD3D11EnumTranslate::init()
|
||||
|
|
@ -102,6 +102,17 @@ void GFXD3D11EnumTranslate::init()
|
|||
GFXD3D11Blend[GFXBlendDestColor] = D3D11_BLEND_DEST_COLOR;
|
||||
GFXD3D11Blend[GFXBlendInvDestColor] = D3D11_BLEND_INV_DEST_COLOR;
|
||||
GFXD3D11Blend[GFXBlendSrcAlphaSat] = D3D11_BLEND_SRC_ALPHA_SAT;
|
||||
GFXD3D11BlendAlpha[GFXBlendZero] = D3D11_BLEND_ZERO;
|
||||
GFXD3D11BlendAlpha[GFXBlendOne] = D3D11_BLEND_ONE;
|
||||
GFXD3D11BlendAlpha[GFXBlendSrcColor] = D3D11_BLEND_SRC_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendInvSrcColor] = D3D11_BLEND_INV_SRC_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendSrcAlpha] = D3D11_BLEND_SRC_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendInvSrcAlpha] = D3D11_BLEND_INV_SRC_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendDestAlpha] = D3D11_BLEND_DEST_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendInvDestAlpha] = D3D11_BLEND_INV_DEST_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendDestColor] = D3D11_BLEND_DEST_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendInvDestColor] = D3D11_BLEND_INV_DEST_ALPHA;
|
||||
GFXD3D11BlendAlpha[GFXBlendSrcAlphaSat] = D3D11_BLEND_SRC_ALPHA_SAT;
|
||||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
GFXD3D11BlendOp[GFXBlendOpAdd] = D3D11_BLEND_OP_ADD;
|
||||
|
|
|
|||
|
|
@ -47,5 +47,5 @@ extern D3D11_FILL_MODE GFXD3D11FillMode[GFXFill_COUNT];
|
|||
extern D3D11_PRIMITIVE_TOPOLOGY GFXD3D11PrimType[GFXPT_COUNT];
|
||||
extern D3D11_TEXTURE_ADDRESS_MODE GFXD3D11TextureAddress[GFXAddress_COUNT];
|
||||
extern DXGI_FORMAT GFXD3D11DeclType[GFXDeclType_COUNT];
|
||||
|
||||
#endif
|
||||
extern D3D11_BLEND GFXD3D11BlendAlpha[GFXBlend_COUNT]; //maps color->alpha
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -67,9 +67,18 @@ GFXD3D11StateBlock::GFXD3D11StateBlock(const GFXStateBlockDesc& desc)
|
|||
mBlendDesc.RenderTarget[0].DestBlend = GFXD3D11Blend[mDesc.blendDest];
|
||||
mBlendDesc.RenderTarget[0].SrcBlend = GFXD3D11Blend[mDesc.blendSrc];
|
||||
//alpha
|
||||
mBlendDesc.RenderTarget[0].BlendOpAlpha = GFXD3D11BlendOp[mDesc.separateAlphaBlendEnable ? mDesc.separateAlphaBlendOp : mDesc.blendOp];
|
||||
mBlendDesc.RenderTarget[0].SrcBlendAlpha = GFXD3D11Blend[mDesc.separateAlphaBlendEnable ? mDesc.separateAlphaBlendSrc : mDesc.blendSrc];
|
||||
mBlendDesc.RenderTarget[0].DestBlendAlpha = GFXD3D11Blend[mDesc.separateAlphaBlendEnable ? mDesc.separateAlphaBlendDest : mDesc.blendDest];
|
||||
if (mDesc.separateAlphaBlendEnable)
|
||||
{
|
||||
mBlendDesc.RenderTarget[0].BlendOpAlpha = GFXD3D11BlendOp[mDesc.separateAlphaBlendOp];
|
||||
mBlendDesc.RenderTarget[0].SrcBlendAlpha = GFXD3D11Blend[mDesc.separateAlphaBlendSrc];
|
||||
mBlendDesc.RenderTarget[0].DestBlendAlpha = GFXD3D11Blend[mDesc.separateAlphaBlendDest];
|
||||
}
|
||||
else
|
||||
{
|
||||
mBlendDesc.RenderTarget[0].BlendOpAlpha = mBlendDesc.RenderTarget[0].BlendOp;
|
||||
mBlendDesc.RenderTarget[0].SrcBlendAlpha = GFXD3D11BlendAlpha[mDesc.blendSrc];
|
||||
mBlendDesc.RenderTarget[0].DestBlendAlpha = GFXD3D11BlendAlpha[mDesc.blendDest];
|
||||
}
|
||||
//target write mask
|
||||
mBlendDesc.RenderTarget[0].RenderTargetWriteMask = mColorMask;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue