Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LECTEUR DE FICHIER MS3D ASCII


Information sur la source

Catégorie :Direct X Classé sous : ms3d, directx, milkshape, animation, direct3d Niveau : Débutant Date de création : 24/04/2007 Date de mise à jour : 25/04/2007 17:59:20 Vu / téléchargé: 5 027 / 447

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Salut, je vous donne ce code sur lequel j'ai travaillé il y a quelque temps, il permet de lire les fichiers 3d de milkshape 3d au format Ascii.
Actuellement il y a un gros bug sur les animations, toutefois l'exemple fournis dans le zip fonctionne presque correctement.

 

Conclusion

Les fleches permettent de controler l'animation frame par frame.

L'animation dans les fichiers ms3d, ms3d ascii utilise un systeme d'os (bone) contrairement au fichier 3ds qui utilise un systeme de keyframe.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

25 avril 2007 17:59:20 :
Debug des animations avec l'aide de ShadowMoy. Ajout de deux model 3d. Debug des 3 types d'affichages. (pour bien voir la difference entre Gouraud et Facette utilisé le model Bend, et pour bien voir la difference entre Gouraud, Facette et Fillaire utilisé le model Abbey) Correction des declarations en Integer ==> Long 180 / Q_Pi devient Q_Rad

Commentaires et avis

signaler à un administrateur
Commentaire de shadowmoy le 25/04/2007 13:36:45

ah ben tu vois quand tu veux :op
je regarde pour le bug et je te dit quoi ..

signaler à un administrateur
Commentaire de ianis24 le 25/04/2007 13:41:04

Plutot Genial 8/10

signaler à un administrateur
Commentaire de shadowmoy le 25/04/2007 15:39:07

voila :
dans ta fonction SetupBones il faut juste remplacer

D3DXMatrixRotationYawPitchRoll Ms3dFile.Structure(i).mRelative, vRot.y, vRot.x, vRot.z

par :
        D3DXMatrixRotationX Ms3dFile.Structure(i).mRelative, vRot.x
        D3DXMatrixRotationY Ms3dFile.Structure(i).mRelative, vRot.y
        D3DXMatrixRotationZ Ms3dFile.Structure(i).mRelative, vRot.z
et la c ok :op

c'etait pas compliqué hein ?
sinon bonne conversion du code cpp dans l'ensemble mais fodrai optimiser
et virer surtout virer le timer
@++

signaler à un administrateur
Commentaire de shadowmoy le 25/04/2007 15:48:22

pour booster un peu le framerate tu devrait essayer de pas recalculer les matrices a chaque frame comme le fait dx
en gros faire un type perso pour exporter les matrices precalculées de l'animation.
comme ca tu ne rebuild pas les matrices a chaque frame et ca speed un peut ton applis.

autre chose evite les : truc * 180 / QPI
defini une constante plutot ca evite de le recalculer 6 fois a chaque frames ...
voila bonne prog :p

signaler à un administrateur
Commentaire de shadowmoy le 25/04/2007 15:55:02

bon :
Public Const Q_RAD = 57.2957795130824  '180 / Q_PI
ah oui et evite les integer pour tes def
ex:
Dim Indice As Integer, Vertex As Integer
tu fait comment si tu as plus de 32768 points dans ton model ? BOOM ca plante
utilise des longs plutot.

allé j'arrete la lol

signaler à un administrateur
Commentaire de dthuler le 25/04/2007 17:06:35

Zip? je le vois pas :´( ouin

signaler à un administrateur
Commentaire de cuq le 25/04/2007 17:18:28

Plutot Genial 8/10 -> les gens sont durs  et dire que l'on a des 10 avec le calcul de l'intersection de deux droites en 2D ....

Bref : Plutot Genial 8/10, Genial 9/10 et donc Carrement GENIAL 10/10, ben je vai mettre Genial car les différents types de rendu marche pas chez moi ...

signaler à un administrateur
Commentaire de ciberrique le 25/04/2007 17:47:16

Bizarre le zip a était supprimer :s

Shadowmoy, merci pour ton aide, mais meme avec ta correction ca ne fonctionne pas pour tout les fichiers 3d, je vous en ajoute 2 dans le zip pour te montrer le bug.

signaler à un administrateur
Commentaire de ciberrique le 25/04/2007 18:01:30

Je viens de mettre à jour.
Ps :  CUQ, tu dis que certain note mal, mais tu enleves deux points pour deux type de rendu ^^.

En même temps je m'en fou des notes mettez 0 ou 10, cette source n'est pas la pour ca, seulement pour montrer à certain comment s'y prendre.

signaler à un administrateur
Commentaire de shadowmoy le 25/04/2007 20:19:27

non non ca marche tres bien c'est juste ta partie lecture du fichier ascii qui bug (un bone du fichier diablo.txt est pris dans les vertex, donc tu as des points supplementaires et des faces supplementaires et des bones en moins d'ou une animation erronée..
c'est en partie du au fait que ton loader ne gere pas les models utilisant des groupes (abbey.txt est un seul groupe : monotexture) alors que diablo.txt est fragmenté en 14 groupes ayant chacun une texture (donc 14 textures)

voila ton "petit" bug fo juste implementer des structures group dans la partie load

voila bon courage... (je matterais si g le tps)

signaler à un administrateur
Commentaire de ciberrique le 25/04/2007 20:21:38

Hum je vois a peu pres ce que tu veux dire je vais voir si j'ai le temps aussi ^^.

signaler à un administrateur
Commentaire de shadowmoy le 26/04/2007 19:17:23

hum j'ai recodé entierement la partie readms3d pour lire tout les ms3d mais apparament le probleme ne vient pas de la.

g testé avec mon modele jill animé mais elle est completement deformée comme si le modele etait inversé par rapport au squelette....

je me demande si il faut pas appliquer le squelette en position 0 a l'ensemble des points avant d'animer pour que ca marche avec les autres frames ?

signaler à un administrateur
Commentaire de shadowmoy le 26/04/2007 19:21:11

'le new module MloadMs3d.bas cc Dre@mSoft 2007 by ShadowMoy:

Option Explicit

Public Type ms3D_vertex
    Drapeau As Long
    coordonée As D3DVECTOR
    uv(1) As Single
    Index As Long
End Type

Public Type ms3d_Triangle
    Drapeau As Long
    Indices(2) As Single
    NormalIndices(2) As Single
    Index As Long
End Type

Private Type ARGBcolor
    alpha As Single
    Red As Single
    Green As Single
    Blue As Single
End Type

Public Type ms3d_material
    Nom As String
    Ambient As ARGBcolor
    diffus As ARGBcolor
    Speculaire As ARGBcolor
    Emetteur As ARGBcolor
    Brillant As Single
    Transparence As Single
    DiffuseTexture As String
    AlphaTexture As String
End Type

Public Type ms3d_framecle_rot
    Durée     As Single       'Temps en seconde
    Rotation As D3DVECTOR     'X,Y,Z de l'angle
End Type

Public Type ms3d_framecle_pos
    Durée     As Single         'Temps en seconde
    Position As D3DVECTOR       'Position locale
End Type

Public Type ms3d_Struct
    Flag As Byte   'durée    ' Sélectionné ou non,visible ou non etc ...
    Nom As String           '32
    NomParent As String
    ParentIndex As Integer
    Rotation As D3DVECTOR       'Translation
    Position As D3DVECTOR
    mRelative As D3DMATRIX
    mAbsolute As D3DMATRIX
    mRelativeFinal As D3DMATRIX
    mFinal As D3DMATRIX
    NbrFrameCléRotation As Long
    NbrFrameCléPosition As Long
    FrameCleRotation() As ms3d_framecle_rot
    FrameClePosition() As ms3d_framecle_pos
End Type
    
Public Type ms3d_group          'Mesh
    Flag As Byte     'Selectionné/caché
    Name As String   '32 max
    NbTriangle As Long
    TriangleIndices() As Long
    MaterialIndex As Byte        '-1  pas de materiel
End Type

Public Type Ms3d_Mesh
    Flag As Long
    MeshName As String  '32 max
    NbrVertices As Long
    Vertices() As ms3D_vertex
    NbrTriangles As Long
    Triangles() As ms3d_Triangle
    NbrNormal As Long
    Normal() As D3DVECTOR
    MaterialIndex As Long
End Type

Public Type MS3D
    Entete As String   ' 256 max
    NbrFrames As Long
    NbrMesh As Long
    Mesh() As Ms3d_Mesh
    NbrMateriaux As Long
    Materiaux() As ms3d_material
    NbrStructure As Long
    Structure() As ms3d_Struct
End Type

Public FPS As Single
Public FrameActuelle As Single
Public NbrFrame As Long
Public Ms3dFile As MS3D
Public f As Integer
Public Templong As Long
Public TempInteger As Integer
Public TempString As String
Public TempChar As String
Public TempByte As Byte

Public Sub ReadMs3d()
On Error GoTo fin

    Dim I As Long, j As Long
    Dim a As String
    Dim tp
    f = FreeFile

        Open (Form1.CommonDialog1.FileName) For Input As f
                ' Ouvre le fichier et le charge dans une variable tampon de type texte
                  a = Input$(LOF(f), f)
        Close #f

               'on recupere le nombre de clés d'animations
               Ms3dFile.NbrFrames = SubString(a, "Frames: ", vbCrLf)
               NbrFrame = Ms3dFile.NbrFrames
               CurrFrame = 1
               'on recupere le nombre de groupes (sous objects) du model
               Ms3dFile.NbrMesh = SubString(a, "Meshes: ", vbCrLf)
              
               'on redimensionne le tableau de groupes
               ReDim Ms3dFile.Mesh(Ms3dFile.NbrMesh - 1)
              
               'on recupere le nombre de materiaux du model
               Ms3dFile.NbrMateriaux = SubString(a, "Materials: ", vbCrLf)
              
              
               'on recupere le nombre de Bones (os du squelette) du model
               Ms3dFile.NbrStructure = SubString(a, "Bones: ", vbCrLf)

Open (Form1.CommonDialog1.FileName) For Binary As f

       Input #f, Ms3dFile.Entete
        If Mid(Ms3dFile.Entete, 1, 2) <> "//" Then
            MsgBox ("Ce fichier n'est pas n'est pas à la norme ms3d version Ascii")
            GoTo fin
        End If


    For I = 0 To 4 'skip the 5 first lines
        Line Input #f, TempString
    Next

'###########################################
'## on commence par recuperer les groupes ##
'###########################################

    For I = 0 To Ms3dFile.NbrMesh - 1
             'recuperer le nom,le flag et le matindex
             Input #f, Ms3dFile.Mesh(I).MeshName, Ms3dFile.Mesh(I).Flag, Ms3dFile.Mesh(I).MaterialIndex
          

             '******************************************************************************************
             '************************* recuperation les vertex (points 3D) ****************************
             '******************************************************************************************
             'on recupere le nombre de points
             Input #f, Ms3dFile.Mesh(I).NbrVertices
            
            
             'on redimensionne le tableau de vertex
             ReDim Ms3dFile.Mesh(I).Vertices(Ms3dFile.Mesh(I).NbrVertices - 1)

             'recuperer les vertices
             For j = 0 To Ms3dFile.Mesh(I).NbrVertices - 1
                Input #f, Ms3dFile.Mesh(I).Vertices(j).Drapeau, Ms3dFile.Mesh(I).Vertices(j).coordonée.x, Ms3dFile.Mesh(I).Vertices(j).coordonée.y, Ms3dFile.Mesh(I).Vertices(j).coordonée.z, Ms3dFile.Mesh(I).Vertices(j).uv(0), Ms3dFile.Mesh(I).Vertices(j).uv(1), Ms3dFile.Mesh(I).Vertices(j).Index
            
            Next j
              
             '******************************************************************************************
             '************************* recuperation des normales **************************************
             '******************************************************************************************
            
            'on recupere le nombre de normales
            Input #f, Ms3dFile.Mesh(I).NbrNormal
            

            'on redimensionne le tableau de normales
            ReDim Ms3dFile.Mesh(I).Normal(Ms3dFile.Mesh(I).NbrNormal - 1)
            
            'recuperation des normales
            For j = 0 To Ms3dFile.Mesh(I).NbrNormal - 1
                Input #f, Ms3dFile.Mesh(I).Normal(j).x, Ms3dFile.Mesh(I).Normal(j).y, Ms3dFile.Mesh(I).Normal(j).z
            Next j

            '******************************************************************************************
            '************************* recuperation des triangles *************************************
            '******************************************************************************************
            
            'on recupere le nombre de triangles
            Input #f, Ms3dFile.Mesh(I).NbrTriangles
            
            'redimensionner le tableau de triangles
            ReDim Ms3dFile.Mesh(I).Triangles(Ms3dFile.Mesh(I).NbrTriangles - 1)
            
            'recuperation des triangles
            For j = 0 To Ms3dFile.Mesh(I).NbrTriangles - 1
                Input #f, Ms3dFile.Mesh(I).Triangles(j).Drapeau, Ms3dFile.Mesh(I).Triangles(j).Indices(0), Ms3dFile.Mesh(I).Triangles(j).Indices(1), Ms3dFile.Mesh(I).Triangles(j).Indices(2), Ms3dFile.Mesh(I).Triangles(j).NormalIndices(0), Ms3dFile.Mesh(I).Triangles(j).NormalIndices(1), Ms3dFile.Mesh(I).Triangles(j).NormalIndices(2), Ms3dFile.Mesh(I).Triangles(j).Index
            Next j
    Next I

'on recup la ligne vide pour positionner le pointeur sur la ligne vide
Input #f, TempString

'###########################################
'## on recupere ensuite les materiaux     ##
'###########################################
Input #f, TempString
            
    If Ms3dFile.NbrMateriaux > 0 Then
        
        ReDim Ms3dFile.Materiaux(Ms3dFile.NbrMateriaux - 1)

        For I = 0 To Ms3dFile.NbrMateriaux - 1
        
            'nom
            Input #f, Ms3dFile.Materiaux(I).Nom
          
            'Ambient
            Input #f, Ms3dFile.Materiaux(I).Ambient.alpha, Ms3dFile.Materiaux(I).Ambient.Red, Ms3dFile.Materiaux(I).Ambient.Green, Ms3dFile.Materiaux(I).Ambient.Blue
    
            'Diffus
            Input #f, Ms3dFile.Materiaux(I).diffus.alpha, Ms3dFile.Materiaux(I).diffus.Red, Ms3dFile.Materiaux(I).diffus.Green, Ms3dFile.Materiaux(I).diffus.Blue

            'Speculaire
            Input #f, Ms3dFile.Materiaux(I).Speculaire.alpha, Ms3dFile.Materiaux(I).Speculaire.Red, Ms3dFile.Materiaux(I).Speculaire.Green, Ms3dFile.Materiaux(I).Speculaire.Blue
            
            'Emetteur
            Input #f, Ms3dFile.Materiaux(I).Emetteur.alpha, Ms3dFile.Materiaux(I).Emetteur.Red, Ms3dFile.Materiaux(I).Emetteur.Green, Ms3dFile.Materiaux(I).Emetteur.Blue

            'Brillance
            Input #f, Ms3dFile.Materiaux(I).Brillant

            'Transparence
            Input #f, Ms3dFile.Materiaux(I).Transparence
            
            'Texture Diffuse
            Input #f, Ms3dFile.Materiaux(I).DiffuseTexture
            
            'Texture Alpha
            Input #f, Ms3dFile.Materiaux(I).AlphaTexture
            
        Next I
    End If

Input #f, TempString 'ligne vide
Input #f, TempString ' "Bones : xx
        
If Ms3dFile.NbrStructure > 0 Then
        ReDim Ms3dFile.Structure(Ms3dFile.NbrStructure - 1)
    
        For I = 0 To Ms3dFile.NbrStructure - 1
            
            'Nom
            Input #f, Ms3dFile.Structure(I).Nom
            
            'Nom de la structure mère
            Input #f, Ms3dFile.Structure(I).NomParent
            
            'time zero, Position, Rotation
            Input #f, Ms3dFile.Structure(I).Flag, Ms3dFile.Structure(I).Position.x, Ms3dFile.Structure(I).Position.y, Ms3dFile.Structure(I).Position.z, Ms3dFile.Structure(I).Rotation.x, Ms3dFile.Structure(I).Rotation.y, Ms3dFile.Structure(I).Rotation.z
          
            'Nbr de cle de position (=nombre de frames - time zero)
            Input #f, Ms3dFile.Structure(I).NbrFrameCléPosition
              
            If Ms3dFile.Structure(I).NbrFrameCléPosition >= 1 Then
                ReDim Ms3dFile.Structure(I).FrameClePosition(Ms3dFile.Structure(I).NbrFrameCléPosition - 1)
                
                'cle de position
                For j = 0 To Ms3dFile.Structure(I).NbrFrameCléPosition - 1
                   Input #f, Ms3dFile.Structure(I).FrameClePosition(j).Durée, Ms3dFile.Structure(I).FrameClePosition(j).Position.x, Ms3dFile.Structure(I).FrameClePosition(j).Position.y, Ms3dFile.Structure(I).FrameClePosition(j).Position.z
                Next j
                
            End If
            
            'Nbr de cle de rotation
            Input #f, Ms3dFile.Structure(I).NbrFrameCléRotation

            If Ms3dFile.Structure(I).NbrFrameCléRotation >= 1 Then
                ReDim Ms3dFile.Structure(I).FrameCleRotation(Ms3dFile.Structure(I).NbrFrameCléRotation - 1)
                
                ' cle de rotation
                For j = 0 To Ms3dFile.Structure(I).NbrFrameCléRotation - 1
                    Input #f, Ms3dFile.Structure(I).FrameCleRotation(j).Durée, Ms3dFile.Structure(I).FrameCleRotation(j).Rotation.x, Ms3dFile.Structure(I).FrameCleRotation(j).Rotation.y, Ms3dFile.Structure(I).FrameCleRotation(j).Rotation.z
                Next j
            End If
        Next I
        
        MakeParentDefBone
        FindTotalFrame
        
    End If
    Frame = 0
    
    Call SetupBones

fin:
Close #f
      
End Sub

Public Function MakeParentDefBone()
    Dim I As Long, j As Long
    
    For I = 0 To Ms3dFile.NbrStructure - 1
        For j = 0 To Ms3dFile.NbrStructure - 1
            If Ms3dFile.Structure(I).NomParent = Ms3dFile.Structure(j).Nom Then
                Ms3dFile.Structure(I).ParentIndex = j
                Exit For
            Else
                Ms3dFile.Structure(I).ParentIndex = -1
            End If
            
        Next j
                
    Next I
    
End Function

Public Function FindTotalFrame()
    Dim I  As Long
    
    For I = 0 To Ms3dFile.NbrStructure - 1
        If NbrFrame < Ms3dFile.Structure(I).NbrFrameCléPosition - 1 Then
            NbrFrame = Ms3dFile.Structure(I).NbrFrameCléPosition - 1
        End If
        If Ms3dFile.Structure(I).NbrFrameCléRotation - 1 > NbrFrame Then NbrFrame = Ms3dFile.Structure(I).NbrFrameCléRotation - 1
    Next I
    
    Form1.ProgressBar.Max = NbrFrame
End Function

signaler à un administrateur
Commentaire de ciberrique le 26/04/2007 19:47:08

Manque un morceau apparement, SubString non definie ^^.

signaler à un administrateur
Commentaire de shadowmoy le 27/04/2007 13:44:57

Public Function SubString$(Value$, a$, b$)
Dim istart As Long, istop As Long

istart = InStr(UCase$(Value$), UCase$(a$)) + Len(a$)
istop = InStr(istart, UCase$(Value$), UCase$(b$))
If istop > istart Then
  SubString$ = Mid$(Value$, istart, istop - istart)
Else
  SubString$ = ""
End If
End Function

signaler à un administrateur
Commentaire de ciberrique le 27/04/2007 16:25:43

Chez moi ton module change rien...

signaler à un administrateur
Commentaire de shadowmoy le 27/04/2007 19:33:28

nan ton loader etait bon mais trop long :op
ma methode est plus "normale" et evite de creer des chaines,des tableaux , des replaces etc ...

bon g recoder pas mal de truc et les anims fonctionnents nickel

mais y a deux bugs encore :
- effet miroir de la scene sur l'axe x (en gros le perso est inversé sur x ainsi que l'anim)
- des triangles sont manquants lors du rendu 3d donc ca fait pas bo :op

je les corriges ou pas ?? :o)

signaler à un administrateur
Commentaire de ciberrique le 27/04/2007 19:36:22

Corrige tout ce que tu veux, je ne comptais plus modifier cette source mais si tu apportes des ameliorations je t'en pris ^^.

signaler à un administrateur
Commentaire de shadowmoy le 27/04/2007 20:07:10

ben l'interet de pouvoir charger des ms3d animés c'est qu'on peut creer un format3d perso qui supporte soit les frames soit les bones (donc faire de l'import ou de l'export de mesh vers d'autres formats)
donc si tu utilise un moteur basé sur les keyframes comme quake 2 tu peut alors le modeler et l'animer  sous ms3d, puis l'exporter vers ton format 3d perso pour un jeu ou autre...
ou alors faire un editeur d'animations plus sympas que celui de ms3d comme copier/coller des keyframes pour organiser les animations ou encore avoir les animations dans des fichiers externes au model etc ...

donc oui je pense que je vais la modifier (si j'ai le temps lol)
  

signaler à un administrateur
Commentaire de shadowmoy le 27/04/2007 20:09:04

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

signaler à un administrateur
Commentaire de ciberrique le 27/04/2007 20:15:07

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.

signaler à un administrateur
Commentaire de shadowmoy le 27/04/2007 22:04:58

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


signaler à un administrateur
Commentaire de shadowmoy le 29/04/2007 13:04:23

la suite ici :
http://www.vbfrance.com/code.aspx?ID=42498

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Directx et .x ... comment importer un mesh animé ? [ par SyDGiN ] Salutbravo pour le siteComment importer un mesh créé depuis truespace 5 en .x, qui comporte une animation. (une boule qui tourne..). Lorsque j'exporte Animation 3d directx [ par ciberrique ] Bonjours, j'ai un probleme, je n'arrive pas &#224; annim&#233;&nbsp;des objet&nbsp;3d sous direct3d&nbsp;avec des structures... En effet je suis sur l Comment faire en dégradé en arrière plan d'un monde direct3D [ par Zakata ] Bonjour,Je suis actuellement en train de réaliser un projet avec DirectX et j'aimerais inséré un dégradé de couleur sur la pictureBox, support du mond bouton animé en DirectX [ par vanpet ] je fait mon interface en DirectX avec DirectDraw et je voudrai que lorsqu'on passe avec la souris sur certaines images, une petite animation se mette [VB.NET 2008] DirectX : Connaitre la position d'un mesh pendant l'animation [ par Shadowbiwan ] Salut a tousAlors voilà, Depuis peu je me décidé à me remettre a DirectX et tant qu'à faire, à passer à la 3D. Après des semaines de recherches et de animation grafcet [ par rado1234 ] bonjour je suis prof de technologie je cherche des animations sur des systèmes pour enseigner le grafcet merci de m'aider à bientôt A/s animation jpg a l'aide du timer [ par med64 ] Bonjour, je suis débutant en vb6, j'aimerais avoir le code sources, pour que je puisse aminer un jpg avec du timer, merci d'avance Problème power point (pr JP Forestier) [ par chtoune ] Bonjour, Suite au message ci-dessous, j'ai trouvé la solution à mon problème cependant, il y a un pet faire une animation en flash sur un form [ par samitodev ] Salut tout le monde. Voila, je me suis mis à faire de la programmation vb.net sous visual studio 2005,je cherche à faire une animation en Flash sur le


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.