Альфа из фрагментного шейдера после Present

kopiev
Дата: 16.11.2017 17:42:37
Всем привет,
проблема с альфа-значением RGB компоненты, которая установлена в пиксельном шейдере (HLSL, DirectX9, ps_3_0). Она всегда устанавливается в 1.0 после выполнения Present. Формат ARGB, пробовал разные варианты (без успеха):
 m_pDevice.SetRenderState(D3DRS_ALPHABLENDENABLE, S_OK);
 m_pDevice.SetRenderState(D3DRS_SRCBLEND, D3DBLEND_BOTHSRCALPHA);
 m_pDevice.SetRenderState(D3DRS_DESTBLEND, D3DBLEND_BOTHSRCALPHA);

 m_pDevice.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
 m_pDevice.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_CURRENT);

Вполне возможно, что это сделать невозможно и она всегда будет 1.0 после обработки. Может, кто-нибудь пересекался с этой проблемой и знает, как ее можно решить? зс