Вывод 3D поверх 2D
Делаю на DirectX 2D игрушку. Всё отлично, но проблема с реализацией полупрозрачности выводимых изображений(довольно медленно это работает). Я слышал, что эту проблему можно решить, если поверх 2D выводить 3D. Но проблема в том, что я не могу понять очередность, в которой нужно выводить 2D, прорисовывать 3D и производить флиппинг(у меня всё мельтешит: по очереди вижу то один кадр 2D, то 3D :-)). Может, кто делал что-то подобное - помогите. Заранее благодарен.
Мой алгоритм таков:
Вывожу всё 2D на задний буфер;
g_pd3dDevice->BeginScene();
g_pd3dDevice->SetStreamSource( 0, g_pVB, sizeof(CUSTOMVERTEX) );
g_pd3dDevice->SetVertexShader( D3DFVF_CUSTOMVERTEX );
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 );
g_pd3dDevice->EndScene();
g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
FrontBuff->Flip();