@Tmyke , je viens de tester ton installeur, ça fonctionne, sympa les nouveaux examples, notamment le BumpAirPlane.
Dreamotion3D
Oui je me souviens qu'on avait déjà abordé ce sujet, j'ai eu la flemme de rechercher la conclusion , merci de me la rappeler 
@Tmyke , je viens de tester ton installeur, ça fonctionne, sympa les nouveaux examples, notamment le BumpAirPlane.
			
			
									
									@Tmyke , je viens de tester ton installeur, ça fonctionne, sympa les nouveaux examples, notamment le BumpAirPlane.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
						Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
bon encore un petit problem
pour des raison d'utilisation, je suis obligé d'executer plusieurs fois Dreamotion3d !!
mais j'ai une erreur de device !!
teste ce code, il va ouvrir une fenetre 3D avec un cube dedans
ensuite press ESCAPE, qui aura pour but de fermer la fenetre
et de renvoyer au debut ou une recréation de fenetre
et là BUG !!
le code :
			
			
									
									
						pour des raison d'utilisation, je suis obligé d'executer plusieurs fois Dreamotion3d !!
mais j'ai une erreur de device !!
teste ce code, il va ouvrir une fenetre 3D avec un cube dedans
ensuite press ESCAPE, qui aura pour but de fermer la fenetre
et de renvoyer au debut ou une recréation de fenetre
et là BUG !!
le code :
Code : Tout sélectionner
IncludePath "D:\PureBasic\dobro\Exemple Perso\3Dreammotion\Samples\include\" ; mettre le bon chemin
IncludeFile "dreamotion3d.pbi"
#ecran=1
largeur_ecran=800
hauteur_ecran=600
titre$="coucou"
If InitSprite () = 0 Or InitKeyboard () = 0 Or InitMouse () = 0
    End
EndIf
debut: ; au deuxieme passage j'ai une erreur DEVICE INIT 
 OpenWindow(#ecran, 0, 0, largeur_ecran, hauteur_ecran,titre$,  #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered ) 
WindowID = WindowID(#ecran) 
OpenWindowedScreen(WindowID(#ecran) , 0, 0,largeur_ecran, hauteur_ecran, 0, 0,0) 
DM_Graphics3DGadget(largeur_ecran, hauteur_ecran, WindowID, 1)  ; <<<- cette fonction fait l'ecran 3D en gadget !!
*Camera = DM_CreateCamera()
DM_CameraClsColor(*Camera, 50, 50, 50)
DM_TranslateEntity(*Camera,0,0,-10)
*cube=DM_CreateCube()
DM_CreateLight(3)
Repeat
    ExamineKeyboard ()
    ExamineMouse ()
    
   
;      Render  c'es ce qui permet de voir le resultat !
DM_BeginScene() 
DM_RenderWorld() 
DM_EndScene() 
Until KeyboardReleased ( #PB_Key_Escape ) Or WindowEvent ()= #PB_Event_CloseWindow
 DM_ClearGraphics()
CloseWindow(#ecran)
Goto debut
- 
				tmyke
 - Messages : 1554
 - Inscription : lun. 24/juil./2006 6:44
 - Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
 
Vous faites des fois des truc auquel j'aurais jamais pensé...  
 
M'enfin, c'est bien un bug, j'ai corrigé, du moins je pense, j'avoue n'avoir
jamais prévue de genre de redémarrage a chaud...
Le module (pas le package) est a jour...
 
 
PS: avec le code que tu donne cela fonctionne maintenant, du coups pour arreter
j'ai du faire un bon vieux Ctrl-Alt-sup
			
			
									
									M'enfin, c'est bien un bug, j'ai corrigé, du moins je pense, j'avoue n'avoir
jamais prévue de genre de redémarrage a chaud...
Le module (pas le package) est a jour...
PS: avec le code que tu donne cela fonctionne maintenant, du coups pour arreter
j'ai du faire un bon vieux Ctrl-Alt-sup
Force et sagesse...
						tmyke a écrit :Vous faites des fois des truc auquel j'aurais jamais pensé...![]()
M'enfin, c'est bien un bug, j'ai corrigé, du moins je pense, j'avoue n'avoir
jamais prévue de genre de redémarrage a chaud...
Le module (pas le package) est a jour...
![]()
PS: avec le code que tu donne cela fonctionne maintenant, du coups pour arreter
j'ai du faire un bon vieux Ctrl-Alt-sup
ps : le redemarrage est obligé pour moi, puisque je passe sans arret
de l'editeur de code PUREGOLO au resultat (soit graphique 2D, soit 3D)
donc a un moment donné j'ouvre l'ecran pour montrer le résultat
puis apres vision, je referme, pour qu'au prochain essai (apres modification de code PUREGOLO) l'ecran s'ouvre a nouveau ect ..
tant mieux, il vaut mieux tout prévoir (et c'est pas facile
ps: j'ai mis ce topic en annonce pour pas qu'il descende
et ^puisqu'il va durer dans le temps
si ça gene quelqu'un dite le
- 
				tmyke
 - Messages : 1554
 - Inscription : lun. 24/juil./2006 6:44
 - Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
 
En fait le moteur graphique utilise deux DLL:
Dreamotion3D.dll : c'est le noyau du moteur, c'est le code que je passe mes loisir à écrire...
Coldet.dll : c'est une petite dll qui nous sert pour les collisions, c'est une lib externe, que je n'ai pas réussi
a intégrer en statique. Donc pour l'instant je la traine comme un boulet (un boulet sympa, car
niveau puissance de calc sur les collisions, c'est le top). Mais j'y travaille.
Elle est dans la mise a jour du module, car lors de l'init de DM3D, elle forcement appellée,
donc utile pour la petite animation 3D de l'install
sinon je l'avais rajouté dans le désinstalleur
PS: cool d'etre promu en 'annonce'
			
			
									
									Dreamotion3D.dll : c'est le noyau du moteur, c'est le code que je passe mes loisir à écrire...
Coldet.dll : c'est une petite dll qui nous sert pour les collisions, c'est une lib externe, que je n'ai pas réussi
a intégrer en statique. Donc pour l'instant je la traine comme un boulet (un boulet sympa, car
niveau puissance de calc sur les collisions, c'est le top). Mais j'y travaille.
Elle est dans la mise a jour du module, car lors de l'init de DM3D, elle forcement appellée,
donc utile pour la petite animation 3D de l'install
sinon je l'avais rajouté dans le désinstalleur
PS: cool d'etre promu en 'annonce'
Force et sagesse...
						Pourquoi tu ne mets pas tes fichiers à télécharger sur ton site Dreamotion3D ? 
ça ne doit pas être simple à maintenir à jour, tu as des liens partout ,sur ce forum, sur le forum anglais, peut-être ailleurs ?
ça serait quand même mieux de tout centraliser sur un seul site non ?
			
			
									
									ça ne doit pas être simple à maintenir à jour, tu as des liens partout ,sur ce forum, sur le forum anglais, peut-être ailleurs ?
ça serait quand même mieux de tout centraliser sur un seul site non ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
						Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Bizarre, quand je vais sur ta page download j'ai ça :
Ok il faut être loggué pour voir quelque chose, pense aux visiteurs qui voudraient tester sans s'inscrire !
Autre remarque, laisse le choix, soit ton installateur soit un simple zip y'en a pas mal qui détestent ces installeurs qui font ce qu'ils veulent sans le moindre contrôle.
			
			
													[EDIT]No downloads yet, please check back soon
Ok il faut être loggué pour voir quelque chose, pense aux visiteurs qui voudraient tester sans s'inscrire !
Autre remarque, laisse le choix, soit ton installateur soit un simple zip y'en a pas mal qui détestent ces installeurs qui font ce qu'ils veulent sans le moindre contrôle.
					Dernière modification par comtois le ven. 02/févr./2007 13:16, modifié 2 fois.
									
			
									http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
						Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
oui je viens de le voir et j'ai édité mon message, tu peux le relire j'ai ajouté d'autres commentaires 
			
			
									
									http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
						Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
j'ai pas compris comment marche le "lines 3d" sur Dream  
   
 
a propos, croit tu possible de faire l'equivalent d'un Linexy

Line3DXY(x_depart, y_depart, z_depart, x_arrivé, y_arrivé, z_arrivé, Couleur,nombre de points)
ça ! ça m'arrangerai bien par contre
pfff! t'es meme pas cap
ps tu peux t'inspirer du code de comtois sur les lignes de bresenham
que j'ai mis au gout du jour
avec ça, l'adaptation devrai etre simple pour faire ma Ligne3DXY
			
			
									
									
						a propos, croit tu possible de faire l'equivalent d'un Linexy
ce serai plutot pour DreamLineXY(x1, y1, x2, y2 [, Couleur])
Trace une ligne partant de la position x1,y1 jusqu'à la position x2,y2
Line3DXY(x_depart, y_depart, z_depart, x_arrivé, y_arrivé, z_arrivé, Couleur,nombre de points)
ça ! ça m'arrangerai bien par contre
pfff! t'es meme pas cap
ps tu peux t'inspirer du code de comtois sur les lignes de bresenham
que j'ai mis au gout du jour
avec ça, l'adaptation devrai etre simple pour faire ma Ligne3DXY
Code : Tout sélectionner
#dobro=1
#Police=1
#Sprite=1
Declare  comtoisLinexy(xi,yi,xf,yf,CoulR,CoulG,CoulB)
; ***********************************
Resultat = InitSprite()
FontID = LoadFont(#Police, "arial", 50, #PB_Font_Bold )
EcranX = GetSystemMetrics_(#SM_CXSCREEN):;=largeur de l'ecran
EcranY = GetSystemMetrics_(#SM_CYSCREEN):;=hauteur de l'ecran
    WindowID = OpenWindow(1, 0, 0, EcranX, EcranY,  "hello",#PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered ) 
    
    WindowID = WindowID(1) 
    Result = OpenWindowedScreen(WindowID,0,0, EcranX, EcranY, 1, 0,0)
    phrase$="D,o,b,r,o, ,v,o,u,s, ,S,a,l,u,e, ,e,t, ,v,o,u,s, ,s,o,u,h,a,i,t,e, ,d,e, ,B,o,n,n,e, ,V,a,c,a,n,c,e,s, ,a, ,T,o,u,s"
    
    ;  creation d'un Sprite
    For t=1 To Len(phrase$)
        caractere$ = StringField(phrase$, t, ",")  
        CreateSprite(t, 80, 80)  ; cree un sprite
        StartDrawing(SpriteOutput(t) ) ; on dessine dedans
        DrawingMode(1) ; fond transparent
        FrontColor(RGB(255, 255,255)); caratere blanc
        DrawingFont(FontID)   
        DrawText(1,1,caractere$) 
        Debug caractere$
        StopDrawing() 
        spr+1 ; nbr de sprite
    Next t
    spr=spr/2
    
    
    Resultat = InitMouse() 
    Repeat
        ExamineMouse() 
        Event=WaitWindowEvent()
        
        StartDrawing( ScreenOutput()) 
        
        x1=0
        y1=0
        x2=500
        y2=500
        
        
        comtoisLinexy( 0, 0, 500, 500,255,255,255)
        
        StopDrawing()
        
        ;         x= MouseX() 
        ;        y= MouseY()
        ;     
        
        
        
        FlipBuffers():; affiche l'ecran
        ; ClearScreen(0, 0, 0) :;efface l'ecran 
        Event=WindowEvent()   ;}
        
        
        
        
        If MouseButton(2)
            End
        EndIf
        
    Until Event=#PB_Event_CloseWindow 
    
    
    
    Procedure  comtoisLinexy(xi,yi,xf,yf,CoulR,CoulG,CoulB)
        ; StartDrawing(ScreenOutput())
        FrontColor(RGB(CoulR,CoulG,CoulB))
        x = xi
        Y = yi
        dx = xf - xi
        dy = yf - yi
        If dx > 0
            xinc = 1
        Else
            xinc = -1
        EndIf
        If dy > 0
            yinc = 1
        Else
            yinc = -1
        EndIf 
        
        dx = Abs(dx)
        dy = Abs(dy)
        Plot(x,Y)
        If  dx > dy
            cumul = dx / 2
            For i = 1 To dx 
                x + xinc
                cumul + dy
                If (cumul >= dx)
                    cumul - dx
                    Y + yinc
                EndIf 
                Plot(x,Y) 
            Next 
        Else
            cumul = dy / 2
            For i = 1 To  dy
                Y + yinc
                cumul + dx
                If cumul >= dy
                    cumul - dy
                    x + xinc
                EndIf 
                Plot(x,Y)
            Next   
        EndIf 
        DrawText(10,10,"click bouton droit pour quitter",RGB(255,255,255),RGB(0,0,0))
        
        ; StopDrawing()
    EndProcedure