Bonjour à tout le monde,
je sollicite votre aide car j'ai un souci sur lequel je cale gravement:
j'utilise la portion de code suivante pour capturer l'ecran et le mettre dans une texture. Je compte utiliser cette texture pour mapper des polys ensuite.
je sais qu'elle est bien recupéré car :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 IDirect3DSurface9* pTargetSurface=NULL; _d3d9Device->GetRenderTarget(0,&pTargetSurface); D3DSURFACE_DESC desc; pTargetSurface->GetDesc(&desc); IDirect3DTexture9* pTempTexture=NULL; _d3d9Device->CreateTexture( desc.Width, desc.Height, 1, D3DUSAGE_DYNAMIC, desc.Format, D3DPOOL_SYSTEMMEM, &pTempTexture, NULL); IDirect3DSurface9* pTempSurface=NULL; pTempTexture->GetSurfaceLevel(0,&pTempSurface); _d3d9Device->GetRenderTargetData(pTargetSurface,pTempSurface); _d3d9Device->CreateTexture( desc.Width, desc.Height, 1, D3DUSAGE_DYNAMIC, desc.Format , D3DPOOL_DEFAULT, &_texture, NULL); // un update texture qui prend un pool_systemmem en source et un pool_default en destination. _d3d9Device->UpdateTexture(pTempTexture, _texture); pTargetSurface->Release(); pTempTexture->Release();
me donne un fichier toto.png qui contient une capture de l'ecran.
Code : Sélectionner tout - Visualiser dans une fenêtre à part D3DXSaveTextureToFile("toto.png",D3DXIFF_PNG,_texture,NULL);
mais je veux reutiliser la texture avec avec un:
le poly que j'affiche ensuite n'est pas texturé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part _d3d9Device->SetTexture( 0 ,_texture ) ;
j'ai certainement negligé quelque chose : merci de me remettre dans le droit chemin.
Partager