D3D .x file texture/material problem

pbdrew04's Avatar
Newbie Member
I've created several models in 3Dstudio max and exported them using PandaSoft plug-in to .X files. I can load and render the .X files in my app.

The problem is that the texture and material information is not used. The textures are all skewed and the materials are not present, such as reflectivity. They are correct in 3Dstudio before exporting.

Any ideas?

Thanks
-Andrew
0
DaWei's Avatar, Join Date: Dec 2006
Team Leader
Using my crystal ball, I would suggest that your app is incorrectly written where the rendering of textures and materials are concerned. I looked very closely, but couldn't quite make out the line numbers of said offending code.
0
pbdrew04's Avatar
Newbie Member
dont be condescending

this is the render model method:
models hold the material info, texture number (points to a texture array) and the mesh. Textures and meshes loaded using native D3DXLoadMeshFromX, D3DXCreateTextureFromFile, nothing out of the ordinary.

Code:
void cGraphics::RenderModel(int iModelNum, float fPosX, float fPosY, float fPosZ, float fRotX, float fRotY, float fRotZ) {
	
	//temp matrices
	D3DXMATRIX Rotation_Matrix;
	D3DXMATRIX Translation_Matrix;
	D3DXMATRIX World_Matrix;

	//rotations
	D3DXMatrixRotationYawPitchRoll(&Rotation_Matrix, fRotY, fRotX, fRotZ);

	//position
	D3DXMatrixTranslation(&Translation_Matrix, fPosX, fPosY, fPosZ);
	
	//combine rotation and position	
	World_Matrix = Rotation_Matrix * Translation_Matrix;

	//apply world transforms
	p_device->SetTransform(D3DTS_WORLD, &World_Matrix);

	//draw model subsets
	for(int i = 0; i < Model[iModelNum].iTexNum.size(); i++)
	{
		p_device->SetMaterial( &Model[iModelNum].Material[i] );
		p_device->SetTexture(0, Textures[Model[iModelNum].iTexNum[i]]);
		Model[iModelNum].Mesh->DrawSubset(i);
	}	
}
0
DaWei's Avatar, Join Date: Dec 2006
Team Leader
They say there are no stupid questions, but there are sure stupid ways to ask them. First you choose to do that, then you choose to instruct me in how I should respond to such a question. Sonny boy, you can't afford my help, now.