Précédent   Forum des professionnels en informatique > Applications > Développement 2D, 3D et Jeux > API graphiques > DirectX
DirectX Forum d'entraide sur le développement avec DirectX. Avant de poster -> FAQ DirectX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/08/2011, 17h09   #1
Invité de passage
 
Homme
Étudiant
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 21
Points : 4
Points : 4
Par défaut DXT5 et directX 11

Bjour,
je tente de faire un ptit projet 3D (premier en directX :s)
Donc j'ai besoin de charger des textures depuis un fichier, l'image est compressée en dxt5 (==> http://en.wikipedia.org/wiki/S3_Texture_Compression)
J'ai une gestions des textures dans l'appli, pas de prob pour charger des textures simples (2x2 pixels en format DXGI_FORMAT_R8G8B8A8_UNORM)
Mais là ca coince, le fichier est chargé correctement, mais la texture ne ressemble a rien.
Il me semblais avoir compris que le format Dxt5 est DXGI_FORMAT_BC3_UNORM, mais apparement non.
Voici le code de création de texture :
Code :
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
35
36
37
38
39
40
void Texture::Init(int width, int height, int mipmap_levels, void * data_ptr, DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM)
		{
			D3D11_TEXTURE2D_DESC desc = {};
			desc.Width = width;
			desc.Height = height;
			desc.MipLevels = mipmap_levels;
			desc.ArraySize = 1;
			desc.Format = format;
			desc.SampleDesc.Count = 1;
			desc.Usage = D3D11_USAGE_DEFAULT;
			desc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
			desc.CPUAccessFlags = 0;
 
			D3D11_SUBRESOURCE_DATA data = {};
			data.pSysMem = data_ptr;
			data.SysMemPitch = 4;;
 
			HRESULT hr = g_pd3dDevice->CreateTexture2D( &desc, &data, &pTexture );
 
			D3D11_SHADER_RESOURCE_VIEW_DESC shaderResourceViewDesc;
 
			shaderResourceViewDesc.Format = desc.Format;
			shaderResourceViewDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
			shaderResourceViewDesc.Texture2D.MostDetailedMip = 0;
			shaderResourceViewDesc.Texture2D.MipLevels = 1;
 
			// Create the shader resource view.
			g_pd3dDevice->CreateShaderResourceView(pTexture, &shaderResourceViewDesc, &pshaderResourceView);
 
			D3D11_SAMPLER_DESC sampDesc;
			ZeroMemory( &sampDesc, sizeof(sampDesc) );
			sampDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_POINT;//D3D11_FILTER_MIN_MAG_MIP_LINEAR;
			sampDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
			sampDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
			sampDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;
			sampDesc.ComparisonFunc = D3D11_COMPARISON_NEVER;
			sampDesc.MinLOD = 0;
			sampDesc.MaxLOD = D3D11_FLOAT32_MAX;
			g_pd3dDevice->CreateSamplerState( &sampDesc, &g_pSamplerLinear );
		}
Quelqu'un peut m'éclairer?
biyoudidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 18h27   #2
Membre Expert
 
Inscription : février 2006
Messages : 1 394
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1 394
Points : 2 071
Points : 2 071
qu'est ce que D3DX11CreateTextureFromFile te sort comme format pour tes textures?
stardeath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 19h02   #3
Invité de passage
 
Homme
Étudiant
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 21
Points : 4
Points : 4
D3DX11CreateTextureFromFile crée une texture depuis un fichier .dds non?
Car s'en est pas un, c'est un format particulier, avec un header, ect.... donc je doit le charger manuellement.
(ps : j'avais déjà fais un equivalent en opengl, ca marchait correctement)
biyoudidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 19h31   #4
Membre Expert
 
Inscription : février 2006
Messages : 1 394
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1 394
Points : 2 071
Points : 2 071
D3DX11CreateTextureFromFile charge depuis un paquet de format, bmp, png, dds etc.

après sans plus d'information, je ne peux pas deviner.
stardeath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 20h38   #5
Invité de passage
 
Homme
Étudiant
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 21
Points : 4
Points : 4
Okay,
trouvé l'erreur, j'avais oublié de modifier le MemPitch, tout marche nikel
biyoudidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h18.


 
 
 
 
Partenaires

Hébergement Web