j'utilise des curseurs dans une environnement fenétré DirectX , je créé donc une surface DirectX au format A8R8G8B8 tel que spécifié dans le SDK, et l'utilise pour créer un curseur. Ceci via :
HRESULT SetCursorProperties(UINT XHotSpot, UINT YHotSpot,IDirect3DSurface9 * pCursorBitmap);
mes curseurs apparaisent mais la transparence n'est pas prise en compte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 hr=lpD3DDevice->SetCursorProperties(1,1,lpD3DAppCursor); BOOL result=lpD3DDevice->ShowCursor(TRUE);
mon backbuffer est au format X8R8G8B8, mais son passage en A8R8G8B8 ne change rien.
d'autres surfaces au format A8R8G8B8, sont quant à elles bien transférées avec transparence lors d'un D3DXLoadSurfaceFromSurface().
Quelque chose m'échappe donc, pour créer un curseur directx avec transparence.
Ai je un problème de format fichier, de format de surface ??
Faut-il éffectuer quelque chose de spécial au niveau du device ?
merci d'avance à ceux qui peuvent m'aider.![]()
Partager