Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   D3D .x file texture/material problem (http://www.go4expert.com/forums/d3d-x-file-texture-material-t3601/)

pbdrew04 25Mar2007 20:22

D3D .x file texture/material problem
 
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

DaWei 25Mar2007 23:39

Re: D3D .x file texture/material problem
 
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.

pbdrew04 26Mar2007 11:36

Re: D3D .x file texture/material problem
 
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);
        }       
}


DaWei 26Mar2007 18:07

Re: D3D .x file texture/material problem
 
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.


All times are GMT +5.5. The time now is 01:43.