J'utilise D3D9 en 2D sous VS2005, mais je n'arrive pas à utiliser la transparence lors des copies de surface vers le backbuffer.
Est il nécessaire de traiter les formats RVB afin d'obtenir de la transparence lors d'un D3DXLoadSurfaceFromSurface ?
Sachant que mes appels D3D9 renvoient un code OK mais pas de transparence.
exemple :
hr=lpD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
if (hr!=D3D_OK) {DXTRACE_ERR( "Test SetRenderState échoué ",hr);}
lpD3DDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, D3DMCS_MATERIAL );
SetRect(&rc_src,0,0,LI,HI);
SetRect(&rc_dest,0,0,1280,1024);
hr =D3DXLoadSurfaceFromSurface( lpD3DBackBuffer,NULL,&rc_dest
,lpBackIndex[3][3],NULL
,&rc_src,D3DX_FILTER_LINEAR,0);
if (hr!=D3D_OK) {DXTRACE_ERR( "Test D3DXLoadSurfaceFromSurface1 échoué ",hr);}
hr=lpD3DDevice->Present(NULL,NULL,NULL,NULL); // commutation du backbuffer
if (hr!=D3D_OK) DXTRACE_ERR( "Test lpD3DDevice->Presentéchoué ", hr );