Im using th efollowing code, to try and retrieve texture data from a mesh object that definatly has a diffuse texture.
void DisplayMesh(KFbxNode* pNode)
{
KFbxMesh* lMesh = (KFbxMesh*) pNode->GetNodeAttribute ();
int lLayerCount = lMesh->GetLayerCount();
if(lLayerCount){
KFbxLayer* lLayer = lMesh->GetLayer(0);
if(lLayer){
KFbxLayerElementTexture* lLayerElementTexture = lLayer->GetDiffuseTextures();
if(lLayerElementTexture){
std::cout << lLayerElementTexture->GetDirectArray().GetAt(0)->GetFileName();
}else cout << "No Diffuse Textures \n";
}else cout << "No layer 0 \n";
}else cout << "No Layers \n";
}
but the following line:
KFbxLayerElementTexture* lLayerElementTexture = lLayer->GetDiffuseTextures();
..always returns a NULL pointer. Am i doing something wrong?