Bonjour, je souhaite éditer une texture en utilisant lockrect, pour cela j'utilise un bout de code qui fonctionnait très bien dans un de mes programmes, et la même si le lockrect se fait bien, les modifications apportées aux pBits ne sont pas visible sur à l'écran.
Quelqu'un aurait une idée d'oùu ça peut venir ?
Voila le code que j'utilise:
Avec:
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 D3DSURFACE_DESC d3dsd; IOmbre->GetLevelDesc( 0, &d3dsd ); // Lock the texture D3DLOCKED_RECT d3dlr; IOmbre->LockRect( 0, &d3dlr, 0, 0 ); for(int x=0;x<1024;x++) { for(int y=0;y<1024;y++) { ((DWORD*)d3dlr.pBits)[d3dsd.Width*y+x]=0; } } // Unlock the texture and return OK. IOmbre->UnlockRect(0);
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 D3DXCreateTextureFromFileEx( m_pd3dDevice, "texture.bmp", D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_FILTER_NONE, 0x00000000, NULL, NULL, &IOmbre );
Partager