begin process at 2012 02 14 08:04:34
  Trouver un code source :
 
dans
 

5 commentaire(s) de AbeLeMudokon sur des sources sur tout CodeS-SourceS

Déposé sur Programmation directx8 tutorial 5 : chargement, affichage, an...

envoie ta source (hongueul@wanadoo.fr) avec le mesh et je verrai ce que je peux faire :)
Posté le : 29/08/2004 11:37:29

Déposé sur Calcul d'intersection de triangles et de boite en 3d

c'est vrai ca manque un peu de commentaires, mais le principal c'est que ca marche ... 9/10
Posté le : 06/05/2004 17:58:23

Déposé sur Programmation directx8 tutorial 5 : chargement, affichage, an...

un petit détail : g mis :
D3DXMatrixTranslation MatriceTemporaire, 0, 0, 10
mais il faudrait plutot mettre :
D3DXMatrixTranslation MatriceTemporaire, objet.position.x, objet.position.y, objet.position.z
voila c'était tout
Posté le : 05/04/2004 22:18:33

Déposé sur Programmation directx8 tutorial 5 : chargement, affichage, an...

Excellente source, ca mérite 9/10
J'aurai quand meme une petite remarque à faire à propos du module d'animation : essaye ton code avec la rotation d'une centaine de mesh à chaque frame, et tu verras que le programme va ralentir tres sérieusement.
donc voici la solution miracle (qui est d'ailleurs un peu plus courte) :
1) créer un type Objet3D dans le module principal :
Type ModeleObjet3D
    Mesh As D3DXMesh
    NomFichierMesh As String
    Position As D3DVECTOR
    Rotation As D3DVECTOR
    Buffer As D3DXBuffer
    Texture() As Direct3DTexture8
    Material() As D3DMATERIAL8
    NombreMaterial As Long
End Type
(je pense que les noms des variables sont assez explicites pour que je n'aie pas à détailler)
2) pour le chargement, on fait comme d'habitude, mais sans les 2 dernieres lignes (GetNumVertices...)

3) dans le module d'affichage créer une sub :
Sub Objet3D_Afficher(Objet As ModeleObjet3D)
Dim MatriceWorld As D3DMATRIX
Dim MatriceTemporaire As D3DMATRIX
Dim n As Byte
'Calculer les transformations de l'objet
D3DXMatrixIdentity MatriceWorld
D3DXMatrixRotationY MatriceTemporaire, Objet.Rotation.y
D3DXMatrixMultiply MatriceWorld, MatriceWorld, MatriceTemporaire
D3DXMatrixTranslation MatriceTemporaire, 0, 0, 10
D3DXMatrixMultiply MatriceWorld, MatriceWorld, MatriceTemporaire
DX.Device.SetTransform D3DTS_WORLD, MatriceWorld
'Afficher l'objet
For n = 0 To Objet.NombreMaterial - 1
    DX.Device.SetMaterial Objet.Material(n)
    DX.Device.SetTexture 0, Objet.Texture(n)
    Objet.Mesh.DrawSubset n
Next n
End Sub
(ici il par économie de place je n'ai mis que la rotation en y, il faudrait faire de meme avec les axes x et y)

4) dans la sub Prendu, entre le BeginScene et le EndScene :
Objet3D_Afficher Voiture  'où Voiture est un objet ModeleObjet3D
5) Pour faire une rotation de l'objet on rajoute dans la boucle principale :
Voiture.Rotation.y = Voiture.Rotation.y + 0.1

voila A+
Posté le : 05/04/2004 22:12:58

Déposé sur 3d isometrique

au lieu de fair 2 millions de variable le mieux serai de faire un tableau :
Global Sprite(1 to 8) as DirectdrawSurface7

dans la sub CreateSurfacefromFile :
Dim n as byte
for n = 1 to 8
    Set sprite(n) = dd.CreateSurfaceFromFile(App.Path & "\textures\Herbe" & n & ".bmp", Erso)
    sprite(n).setColorKey DDCKEY_SRCBLT, Ck
next n
Pareil pour le perso, mais avec un tableau en 2 dimensions

sinon mets :
ChDir App.Path
dans le form_load et tu n'aura plus à le remettre à chaque chargement d'un sprite

derniere chose : par pitié mets un tab à l'intérieur les boucles if, on comprend rien à ton code!
4/10
Posté le : 14/03/2004 21:46:11

1


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,312 sec (4)

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