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:
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);
Avec:
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 );
Merci