LECTEUR DE FICHIER MS3D ASCII

Signaler
Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007
-
Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42436-lecteur-de-fichier-ms3d-ascii

Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007

Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007

bon g modifié la partie rendu et optimisé un peu tous ca
et aussi viré le timer pour tester le fps sans timer car tu bloque le rendu a 50 ms
donc tes fps veulent rien dire (c corrigé pour la prochaire release)
pour le pb des triangles manquants en wireframe g trouvé aussi lol
tu connais pas :
If RFillaire = False Then
PDevice.SetRenderState D3DRS_FILLMODE, D3DFILL_SOLID 'rendu solide
Else
PDevice.SetRenderState D3DRS_FILLMODE, D3DFILL_WIREFRAME 'rendu fils de fer
End If

et non pas
PDevice.DrawPrimitiveUP D3DPT_LINELIST, 1, Model3d(i).Vertices(0), Len(Model3d(i).Vertices(0))
le 1 peut etre remplacé par Model3d(i).nbtris ce qui permet en un appel de faire le rendu de N triangles au lieu de faire N appels de 1 triangle (en gros c plus rapide a l'execution)

et evite aussi au maximum les appels a settexture et setmaterial dans des boucles imbriquées

en gros il faut le faire avant puis balancer le buffer de points en liste (trianglelist)
comme suit :
si pas de texture alors
PDevice.SetTexture 0, Nothing
sinon
PDevice.SetTexture 0, texture
fin si

si material alors
PDevice.SetMaterial Pcouleur
sinon
PDevice.SetMaterial Nothing
fin si

'puis balancer les triangles
For i = 0 To Ms3dFile.NbrMesh - 1
'On dit qu'aucune texture ne sera affichée
PDevice.DrawPrimitiveUP D3DPT_TRIANGLELIST, Model3d(i).nbtris, Model3d(i).Vertices(0), Len(Model3d(i).Vertices(0))
Next i
Messages postés
589
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
1
Les animations en binaire c'est le même principe, je me rapelle avoir eu un resultat similaire à celui de cette source (avant tes apports), mais j'ai bugger le code :s

Amuse toi bien.
Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007

hum je me demande si je devrais pas passer au format binaire des ms3d plus tot parceque le format ascii ... ca ** du *** :op
Afficher les 23 commentaires