begin process at 2012 05 29 00:07:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

D3DXMatrixTranslation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

D3DXMatrixTranslation

vendredi 2 décembre 2005 à 13:42:40 | D3DXMatrixTranslation

niketou

Salut a tous.
Voila je fais un moteur 3d en dx9.
Voici un bout de code,en fait je devrai voir un objet 3d mais je ne vois rien.
L'objet et sa texture se chargent bien mais l'erreur doit venir de la position (camera ou objet ou la perspective).

pour la perspective:
    D3DXMatrixPerspectiveFovLH( &matProj,D3DX_PI/4, 1.0f, 1.0f, 100.0f );
    g_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );

pour placer l'objet:
void PutObject(char* Object,float PosX,float PosY,float PosZ,float LookX,float LookY,float LookZ){

D3DXMatrixTranslation(&matWorld,PosX,PosY,PosZ);// ( &matWorld, timeGetTime()/150.0f );
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
}

pour la vue:
D3DXMatrixLookAtLH( &matView, &D3DXVECTOR3(0,0,-3 ),
                              &D3DXVECTOR3(0,0,0),
                              &D3DXVECTOR3( 0,1,0) );
g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );


/////////////////////////////////////////////////////////////////////////////////////////////////////////////
PutObject(Object1,0,0,5,0,0,0);

    // Load the mesh from the specified file
if (FAILED(D3DXLoadMeshFromX(Object1, D3DXMESH_SYSTEMMEM,g_pd3dDevice, NULL,&pD3DXMtrlBuffer, NULL, &g_dwNumMaterials,&g_pMesh )))
{
MessageBox(NULL,"Can't load object",NULL,MB_OK);
}

D3DXMATERIAL* d3dxMaterials = (D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPointer();
g_pMeshMaterials = new D3DMATERIAL9[g_dwNumMaterials];
g_pMeshTextures  = new LPDIRECT3DTEXTURE9[g_dwNumMaterials];

for(DWORD i=0;i<g_dwNumMaterials;i++){
g_pMeshMaterials[i] = d3dxMaterials[i].MatD3D;
g_pMeshMaterials[i].Ambient = g_pMeshMaterials[i].Diffuse;
g_pMeshTextures[i] = NULL;

if( d3dxMaterials[i].pTextureFilename != NULL && lstrlen(d3dxMaterials[i].pTextureFilename) > 0 )
        {
            //Créé la texture
            if( FAILED(D3DXCreateTextureFromFile(g_pd3dDevice,Object2, &g_pMeshTextures[i]) ) )
            {
           MessageBox(NULL,"Can't load texture",NULL,MB_OK);
            }
}

}
    // Done with the material buffer
    pD3DXMtrlBuffer->Release();
D3DXMatrixIdentity(&matWorld);
}

La fonction putobject est cencé poser l'objet 3d au coordonnees 0,0,5 mais rien ne s'affiche.
Si une personne s'y connais Merci.

vendredi 2 décembre 2005 à 15:17:54 | Re : D3DXMatrixTranslation

Galmiza

Sans analyser dans les détails ton code, affiche les faces cachées avec SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE) au cas ou tu sois à l'interieur de l'objet, modifie l'orientation de la caméra pour chercher dans toutes les directions (avec des sinf(timeGetTime()*0.01f par exemple).
Met un fond différent du noir car une faces dont la texture n'a pas été trouvée est affichée en noir.
Si tu ne vois toujours rien, c'est que ton problème vient des matrices.

vendredi 2 décembre 2005 à 16:32:35 | Re : D3DXMatrixTranslation

niketou

Salut.
Non toujour rien.La texture a bien été trouvé j'ai mis un message d'erreur au cas ou.

Mais  l'objet 3d ne s'affiche toujour pas. :( 

samedi 3 décembre 2005 à 00:11:39 | Re : D3DXMatrixTranslation

Galmiza

Passe le code c'est plus simple car le problème ne semble pas venir de cette portion: tes matrices sont justes. Il y a plein de paramètres que tu as peut-être mal modifié, des flags non appropriés pour initialiser le backbuffer ou les textures.
Met un fond différent du noir quand même car directX ne rale pas forcement (dépend de l'erreur reçue) si la texture n'a pas trouvé de source. Lequel cas il la met à 0x00000000. Elle s'affichera en noir.



Cette discussion est classée dans : objet, float, 0f, matworld, pd3ddevice


Répondre à ce message

Sujets en rapport avec ce message

DirectX 9: Probleme pour effectuer deux transformations en même temps (rotation et ranslation) [ par Overwrite ] Je veux effectuer une translation et une rotation en même temps sur un triangle tt bete mais ca fonctionne pas. DirectX n'execute que la rotation : / Probleme d'affichage de plusieurs meshes !!! [ par DarklordBioopo ] bonjour,J'ai un probleme que je n'arrive pas a resoudre. pourriez vous m'aider svp.J'arrive a afficher une meshe, maisla seconde ne s'affiche pas.Mon Texture transparente [ par F0ra ] Bonjour,Je voudrais aff seekp (pointeur sur un objet) [ par infodaoudi ] Bonjour, j'ai un fichier binaire compose d'une suite d'objet de type RegionMere telle que class RegionMere { float MBR; Region *Core; R [Opengl] Labyrinthe problème [ par pspflashsystem ] Salut tout le monde,j'ai un problème qui me "gave" (excusez moi pour ce mot un peu familier):En effet, je souhaite gérer les collisions dans mon labyr directx texture [ par niketou ] Salut a tous.Voila j'ai mon triangle texturé mais je voudrai que la texture ce repete plusieur fois au lieu d'un simple plaquage.Si quelqu'un sait com Les types [ par emmanuel9 ] Bonjour à tous, J'ai un objet TextBox par exemple et je voudrais savoir si il hérite de la classe Object ? (c'est un cas d'école), comment faire cela Comment mettre un objet en "disable" dans une DialogBox ? [ par KissyFroth ] Je n'arrive pas à désactiver une editbox crée avec les resources dans une DialogBox. La fonction EnableWindow(HWND h) necessite un identifiant fenetre 3d iso [ par niketou ] Salut a tous.J'ai besoin d"un fortiche en math.Je veux faire une vue isometrique,voici mes variable de la camera:    D3DXVECTOR3 vEyePt( PX,PY,PZ );   J'aimerais que quelqun vérifi ce petit code :) [ par ownagedx ] Bonjours, j'aimerais que quelqun m'aide un peu avec ce code, et me donne quelques suggestion... parcontre, soyer indulgent, j'ai commencer a apprendre


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales