Параметры отображения в старой версии (DirectX9):
Код: Выделить всё
technique tAccessory
{
pass p0
{
VS_COMPILE_COMMAND VS();
PS_COMPILE_COMMAND PS(true);
AlphaBlendEnable = true;
SrcBlend = SrcAlpha;
DestBlend = InvSrcAlpha;
ZFunc = LESSEQUAL;
AlphaTestEnable = true;
AlphaRef = 1;
AlphaFunc = GreaterEqual;
}
pass p1
{
VS_COMPILE_COMMAND VS();
PS_COMPILE_COMMAND PSAccessoryAlpha();
AlphaBlendEnable = true;
SrcBlend = SrcAlpha;
DestBlend = One;
ZFunc = LESSEQUAL;
AlphaTestEnable = true;
AlphaRef = 1;
AlphaFunc = GreaterEqual;
}
}
Проблема заключается в отсутствии этих параметров в файле новая версия DirectX 11:
Код: Выделить всё
AlphaBlendEnable = true;
SrcBlend = SrcAlpha;
DestBlend = One;
ZFunc = LESSEQUAL;
AlphaTestEnable = true;
AlphaRef = 1;
AlphaFunc = GreaterEqual;
DirectX9:
Код: Выделить всё
AlphaBlendEnable = true;
SrcBlend = SrcAlpha;
DestBlend = InvSrcAlpha;
Код: Выделить всё
BlendState BSAlphaBlending
{
BlendEnable[0] = true;
SrcBlend = SRC_ALPHA;
DestBlend = INV_SRC_ALPHA;
};
SetBlendState( BSAlphaBlending, float4( 0, 0, 0, 0 ), 0xffffffff );
DirectX9:
Код: Выделить всё
AlphaBlendEnable = true;
SrcBlend = SrcAlpha;
DestBlend = One;
Код: Выделить всё
BlendState BSSrcAlphaDestOne
{
BlendEnable[0] = true;
SrcBlend = SRC_ALPHA;
DestBlend = ONE;
};
SetBlendState( BSSrcAlphaDestOne, float4( 0, 0, 0, 0 ), 0xffffffff );
DirectX9:
Код: Выделить всё
ZFunc = LESSEQUAL;
AlphaTestEnable = true;
AlphaRef = 1;
AlphaFunc = GreaterEqual;
Подробнее здесь: https://stackoverflow.com/questions/786 ... to-the-9th