Also Assimp View zeigt mir bei keinen meiner Modelle eine Textur mit an (In der Baumstruktur bei AssimpView fehlt so ein Eintrag auch immer, siehe Seite 1 vom thread da hab ich mal ein Screenshot davon gepostet)
Hier mein inputLayout
Code: Alles auswählen
D3D10_INPUT_ELEMENT_DESC layout[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },
{ "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },
{ "TANGENT", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 24, D3D10_INPUT_PER_VERTEX_DATA, 0 },
{ "BINORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 36, D3D10_INPUT_PER_VERTEX_DATA, 0 },
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 48, D3D10_INPUT_PER_VERTEX_DATA, 0 }
};
Hier meine Textur Lade Methode bei der die ShaderResourceView erstellt wird (und gleich danach mittels SetResource dem shader übergeben wird)
Code: Alles auswählen
ID3D10ShaderResourceView* Texture::LoadTexture(InitD3D10** engine, wchar_t* textureName)
{
ID3D10ShaderResourceView* pTextureRV = NULL;
ID3D10Resource* pResource = NULL;
ID3D10Texture2D* pTexture = NULL;
HRESULT hr = NULL;
//Loads the texture into a temporary ID3D10Resource object
hr = D3DX10CreateTextureFromFile((*engine)->pD3DDevice, textureName, NULL, NULL, &pResource, NULL);
if(FAILED(hr))
{
char message[256];
sprintf_s(message, sizeof(message), "Textur %s konnte nicht in ID3D10Resource geladen werden.", textureName);
Globals::ShutdownEngine("Texture", message);
return NULL;
}
//Translates the ID3D10Resource object into a ID3D10Texture2D object
pResource->QueryInterface(__uuidof( ID3D10Texture2D ), (LPVOID*)&pTexture);
if(pTexture == NULL)
{
char message[256];
sprintf_s(message, sizeof(message), "Textur %s konnte nicht von ID3D10Resource nach ID3D10Texture2D konventiert werden.", textureName);
Globals::ShutdownEngine("Texture", message);
return NULL;
}
//Get the texture details
D3D10_TEXTURE2D_DESC TexDesc;
pTexture->GetDesc(&TexDesc);
//Create a shader resource view of the texture
D3D10_SHADER_RESOURCE_VIEW_DESC SRVDesc;
ZeroMemory(&SRVDesc, sizeof(SRVDesc));
SRVDesc.Format = TexDesc.Format;
SRVDesc.ViewDimension = D3D10_SRV_DIMENSION_TEXTURE2D;
SRVDesc.Texture2D.MipLevels = TexDesc.MipLevels;
(*engine)->pD3DDevice->CreateShaderResourceView(pTexture, &SRVDesc, &pTextureRV);
//Release allocated memory
pResource->Release();
pTexture->Release();
return pTextureRV;
}