bonjour j'utilise une application DX10 avec multisampling activé
mes sauvegardes du backbuffer me donnent un fichier de taille normale, emplit de noir, alors que l'application fonctionne bien à l'écran avec le multisampling activé

j'initialise mon application avec les DXUT

voila comment je m'y prends

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
 
// acquiert backbuffer
ID3D10Resource* pBackbufferRes;
const DXGI_SURFACE_DESC* pd3dsdBackBuffer = DXUTGetDXGIBackBufferSurfaceDesc();		// acquiert description du backbuffer
DXUTGetD3D10RenderTargetView()->GetResource( &pBackbufferRes);						// acquiert le contenu de la render target
 
ID3D10Texture2D* pTexture;								// texture de destination
D3D10_TEXTURE2D_DESC texDesc;							// descripteur de texture
 
texDesc.ArraySize = 1;
texDesc.BindFlags = 0;
texDesc.CPUAccessFlags = 0;
texDesc.Width = pd3dsdBackBuffer->Width;			// largeur backbuffer
texDesc.Height = pd3dsdBackBuffer->Height;			// hauteur backbuffer	
texDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM_SRGB;		
texDesc.BindFlags = D3D10_BIND_RENDER_TARGET;		
texDesc.SampleDesc.Count = 1;
texDesc.SampleDesc.Quality = 0;	
texDesc.MipLevels = 1;	
texDesc.MiscFlags = 0;
texDesc.Usage = D3D10_USAGE_DEFAULT;
 
V( pd3dDevice->CreateTexture2D( &texDesc, NULL, &pTexture) );			// créé texture de destination
 
pd3dDevice->ResolveSubresource( pTexture, D3D10CalcSubresource( 0,0,1), pBackbufferRes, 0, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB );	// copy texture multisampled
 
V( D3DX10SaveTextureToFile( pTexture, D3DX10_IFF_DDS, nomfichier2 ) );	// sauve vers fichier dds
donc je ne capture pas ce qu'il faut ou le converti mal de multisamplé vers un format normal
j 'ai essayé sans D3D10CalcSubresource(), idem

des idées ??