Dreamotion3D

Généralités sur la programmation 3D
Anonyme

Message par Anonyme »

pour le moment , le forum mis en place est plus pour le coté dévelopement du noyau du moteur.

ps: On cherche un nom pour le moteur,
j'ai pensé à Gears3D

d'autre idées ? :D
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Il y a une option de phpbb pour récupérer la base de donnée normalement :wink:
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Progi1984 a écrit :Je demandais cela surtout pour la gestion du site. Car si on héberge le site chez Frenchboard.com, on ne pourra pas récupérer
les messages lorsqu'on voudra créer un autre site. Alors que si c'était une suite ou un futur de DM3D, on pourrait utiliser
l'hébergement actuel de DM3D pour continuer dans la lancée... (avec l'accord de TMyke)
Ce ne sont que des propositions.
Je pense qu'il vaut mieux partir sur des bases nouvelles, en plus celà évitera les amalgames entre DM3D et le futur
moteur. Après pour le futur hébergement, nous pouvons en discuter (ou, comment, etc...).
Cpl.Bator a écrit :pour le moment , le forum mis en place est plus pour le coté dévelopement du noyau du moteur.
effectivement, une fois un site en place, avec un forum, et une zone destinée au developpement, on pourra fermer
celui qu'a monter Cpl.Bator, tant pis pour les messages. Son but est de dégrossir, et d'avoir les premières discutions.
On importera les message et parties les plus significatives,
et voila tout. Du moins c'est mon opinion ;)
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Mine de rien Tmyke, tu as fais un travail de folie !! J'ai matté quelques uns de tes exemples PB et ca tourne nikel. Tu as de l'or dans le cerveau, vraiment !!!
Je me suis appercu que beaucoup de moteurs 3D fleurissaient. On ne cesse de réinventé la roue, c'est dommage. La, j'ai vu que vous parliez du moteur Irrlicht. On en avait parlé sur ce forum il y a un bout de temps. Mais bon, ce qui m'amene, c'est que je n'ai pas bien saisi ce que tu va faire maintenant que tu as "abandonné" DM3D ?
J'espere que tu ne vas pas encore reinventer une roue ! Quelle perte de temps...
Anonyme

Message par Anonyme »

J'espere que tu ne vas pas encore reinventer une roue ! Quelle perte de temps...
il ne réeinvente jamais la roue , il l'arrondie a chaque fois , c'est pas pareil.
et les moteurs vont en évoluant.
:wink:
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Cpl.Bator a écrit :
J'espere que tu ne vas pas encore reinventer une roue ! Quelle perte de temps...
il ne réeinvente jamais la roue , il l'arrondie a chaque fois , c'est pas pareil.
et les moteurs vont en évoluant.
:wink:
Ce qui veux dire qu'il "abandonne" DM3D car il le juge deja dépassé ??
Il veux en refaire un ou corriger DM3D ?
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

SPH a écrit :Ce qui veux dire qu'il "abandonne" DM3D car il le juge deja dépassé ??
Il veux en refaire un ou corriger DM3D ?
pour résumer, DM3D est le projet d'un homme seul, et en tant qu'amateur, à un certain
stade ce n'est plus gérable. Mon temps perso ne me le permet plus en tous les cas, même
si je le regrette amèrement.
Donc, il ne s'agit pas de ré-inventer à chaque fois la roue, mais de voir pour adhérer
à un projet communautaire, ou ont est plusieurs, et donc de se partager le travail, le
tout en dilatante, sans se prendre la tête , même si on cherche a faire quelque chose
de sérieux et de qualité ;)
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Donc, ca me rassure.
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Je beta testerais (je travail avec chaos qui tourne sous nux pendant que je suis sous win) avec plaisir.
Octavius
Messages : 312
Inscription : jeu. 26/juil./2007 12:10

Message par Octavius »

Bonjour à tous,

Je voulais savoir s'il existait des tutoriels en français pour Dreamotion3D (genre pas à pas, créer un triangle, créer un cube, créer une scène, etc.). Ou au moins une doc en français. Eh oui, j'ai le malheur d'être particulièrement handicapé en anglais (malgré 15 ans de cours d'anglais :cry: ).

Avec PB j'ai réussi à faire des cubes (grâce aux tutos de comtois que j'ai trouvé). Avec DM3D les commandes semblent assez différentes et comme je ne suis pas encore familier avec le monde de la 3D, je n'arrive pas à analyser les codes donnés en exemple avec l'archive de DM3D. :?

J'ai encore une ou deux autres questions bêtes : est-ce qu'on peut utiliser les fonctions 3D natives de PB en même temps que DM3D ou bien c'est soit l'un soit l'autre ? Faut-il toujours livrer Engine3D.dll avec notre exécutable quand on créer une application avec DM3D ? Faut-il livrer les dlls de DM3D qu'on a installé dans le dossier 'Compilers' ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Octavius a écrit :Bonjour à tous,

Je voulais savoir s'il existait des tutoriels en français pour Dreamotion3D (genre pas à pas, créer un triangle, créer un cube, créer une scène, etc.). Ou au moins une doc en français. Eh oui, j'ai le malheur d'être particulièrement handicapé en anglais (malgré 15 ans de cours d'anglais :cry: ).
le moteur est livré avec des exemples !!
c'est tres facile de les comprendre
Avec PB j'ai réussi à faire des cubes (grâce aux tutos de comtois que j'ai trouvé). Avec DM3D les commandes semblent assez différentes et comme je ne suis pas encore familier avec le monde de la 3D, je n'arrive pas à analyser les codes donnés en exemple avec l'archive de DM3D. :?
ben mince, c'est pourtant simple !
J'ai encore une ou deux autres questions bêtes : est-ce qu'on peut utiliser les fonctions 3D natives de PB en même temps que DM3D ou bien c'est soit l'un soit l'autre ?
c'est l'un ou l'autre !!
Faut-il toujours livrer Engine3D.dll avec notre exécutable quand on créer une application avec DM3D ? Faut-il livrer les dlls de DM3D qu'on a installé dans le dossier 'Compilers' ?
oui ! :)
Octavius
Messages : 312
Inscription : jeu. 26/juil./2007 12:10

Message par Octavius »

Dobro a écrit :ben mince, c'est pourtant simple !
Arf! :oops: Bon je vais essayer de forcer un peu sur mes neurones alors.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

pour le desinstalleur
voici pour la derniere version de Dreamotion :)


; désinstallateur de Dreamotion3D
; By Dobro


Chemin$ = PathRequester ( "ou est le dossier Purebasic ?? " + Chr (10)+ Chr (13)+ "Entrez dedans !!! " , "c:\" )

; efface du dossier compiller
Resultat = DeleteFile (Chemin$+ "Compilers\" + "Dreamotion3D.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "d3dx9_30.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "d3dx9d_30.dll" )

; enleve le moteur Physic
Resultat = DeleteFile (Chemin$+ "Compilers\" + "NxCharacter.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "NxCooking.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "NxExtensions.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "PhysX.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "PhysXCore.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers\" + "PhysXLoader.dll" )

; efface du dossier Windows/System32
Resultat = DeleteFile ( "C:\WINDOWS\system32\" + "Dreamotion3D.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\system32\" + "d3dx9_30.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\system32\" + "d3dx9d_30.dll" )

; au cas ou << : D
Resultat = DeleteFile ( "C:\WINDOWS\" + "Dreamotion3D.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\" + "d3dx9_30.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\" + "d3dx9d_30.dll" )


; efface du dossier lib
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "d3d9.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "d3dx9.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "d3dx9d.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "d3dxof.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "ddraw.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "dinput8.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "dinput.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "Dreamotion3d.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "dinput.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "dsound.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "dxguid.lib" )


; retire la lib du moteur Physic
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries\" + "PhysX.lib" )

; efface tout le dossier Dreamotion3D
Resultat = DeleteDirectory (Chemin$+ "Dreamotion3D" , "*.*" , #PB_FileSystem_Recursive|#PB_FileSystem_Force )

; efface tout le dossier Physic
Resultat = DeleteDirectory (Chemin$+ "SamplesPhysX" , "*.*" , #PB_FileSystem_Recursive|#PB_FileSystem_Force )

; efface le Help
Resultat = DeleteFile (Chemin$+ "help\" + "Dreamotion3D.chm" )

MessageRequester ( "ok !" , "Désinstallation effectuée" , #PB_MessageRequester_Ok )

Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

et voici un petit listing a sauver dans le dossier des exemple de Dreamotion3D

avant de le lancer !!
il est commenté ; tu vas voir que c'est simple :)


; Include files
IncludePath "include\"
IncludeFile "d3dx9.pbi"
IncludeFile "dreamotion3d.pbi"

 
   ; Init PB modules
If InitSprite () = 0 Or InitKeyboard () = 0
     End
EndIf

; ********************* Etape 1 *********************************
   ; set graphic window 3D
DM_Graphics3D(1024,768, 32, 0, 0) ; on ouvre un ecran graphique 3D
; ************************************************************

; ********************* Etape 2 *********************************
*camera = DM_CreateCamera() ; on cree une camera
DM_MoveEntity(*camera, 0,0,-100) ; on la deplace en la reculant un peu
; ************************************************************

; ********************* Etape 3 *********************************
   ; Set ambient color
DM_AmbientLight(125,125,125) ; on cree un lumiere ambiante
; ************************************************************

; ********************* Etape 4 *********************************
*cube = DM_CreateCube() ; on cree un cube
DM_ScaleMesh(*cube, 20,20,20) ; on change la taille du cube
; ************************************************************

; ********************* Etape 5 *********************************
*lumiere1=DM_CreateLight ( #D3DLIGHT_POINT ) ; on cree une lumiere
DM_LightColor (*lumiere1, 100, 0, 150, 0) ; de couleur violette
DM_positionEntity(*lumiere1, 100,200,0) ; on la met vers le haut du cube
; ************************************************************


Repeat
     ExamineKeyboard ()
     If KeyboardReleased ( #PB_Key_Escape )
        Quit=1
     EndIf
    
    
    DM_TurnEntity (*cube,0,0.05,0.05) ; dans la boucle fait pivoter le cube
    
     ; ---------------
     ; Render pass
     ; ---------------
    DM_BeginScene() ; ouvre la zone de demarrage du calcul de la scene
    DM_RenderWorld(*camera) ; on calcul la scene
    DM_EndScene() ; on ferme la zone
    
Until Quit=1
DM_ClearGraphics() ; nettoie l'ecran graphique pour le prochain usage : o)
End
Octavius
Messages : 312
Inscription : jeu. 26/juil./2007 12:10

Message par Octavius »

Merci pour ton aide Dobro.

J'ai maintenant des questions un peu plus précises (j'ai réussi à faire un cube qui tourne :!: )

A quoi sert exactement DM_ClearGraphics() ? Je l'ai mis en fin de programme pour la fermeture normale. Mais qu'est-ce qui arrive si je ne l'utilise pas ? J'utilise des 'End' dans mon programme pour fermer le programme en cas d'erreur, mais je ne mets pas DM_ClearGraphics() avant car ça fait planter complètement le programme s'il n'y a pas d'écran ouvert.

Qu'est-ce qu'un Brush ? Je ne trouve pas l'équivalent dans les fonctions standard de PB.

Je voudrais pouvoir dessiner sur une texture que j'ai créé avec DM_CreateTexture mais je ne peux plus utiliser StartDrawing() parce qu'il me demande un Output que je n'ai pas. (je n'ai que le pointeur *texture.CTexture)
Répondre