Physque pour Dreamotion3D

Généralités sur la programmation 3D
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Physque pour Dreamotion3D

Message par tmyke »

Comme promis pour ce WE, voici le petit module physque pour Dreamotion3D.
Comme pour le moteur graphique lui-meme, il s'agit de la première Beta,
et donc le module ne contient que les fonctions phyiques de base.
Les fonctions évoluées arriveront petit à petit dans les semaines et mois
a venir:
- gestion des véhicules,
- Ragdoll,
- particules,
- eau et fluide,
- etc...

Les samples fournis sont de petit pgm très 'basic', juste la pour
démontrer l'utilisation des principales fonctions physiques. Pas
toujours très beaux, certe, mais dans la plupart des cas assez
explicites. Pour la doc, elle est cette fois au format HTML, et en
anglais (pour la diffusion futur vers le monde Anglo-Saxon), désolé
pour les anglophobes...

http://www.dreamotion3d.com/PureBasic/PhysXPB.zip
rappel du lien pour le moteur 3D a proprement dit:
http://www.dreamotion3d.com/PureBasic/modulePB.zip
Force et sagesse...
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message par erix14 »

Excellent, ça devient très facile de faire de la 3D. :D
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Pas mal.
Le rendu de la carte est plutot bon en plus (la map où on fait tomber des cube)

Et il y a la fonction CylindricalJoint qui m'interesse pas mal.
J'attend de voir les fluide.
Anonyme

Message par Anonyme »

C'est du super boulot ! chapeau :D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

j'ai ce message d'erreur
---------------------------
PureBasic0.exe - Point d'entrée introuvable
---------------------------
Le point d'entrée de procédure ?Move@CEntity@@QAGXMMM@Z est introuvable dans la bibliothèque de liaisons dynamique Dreamotion3D.dll.
---------------------------
OK
---------------------------
j'ai bien copié les dll dans le répertoire system32, et la lib dans le répertoire PureLibraries/windows/Libraries/
et bien sûr j'avais déjà installé Dreamotion3D, qui fonctionne bien.
J'utilise PB4, j'ai directx9c

J'ai oublié quelque chose ?
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.
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 »

Essais en re-téléchargeant la dernière version de DM3D, car ils y a eu
quelques aménagment depuis, et il vaut mieux avoir la dernière version
du moteur graphique dans ce cas ...
(re-load juste la partie module, dont j'ai mis le lien en haut du post)
Force et sagesse...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

C'était ça :oops:


C'est vraiment excellent , tout fonctionne sauf le 8, j'ai une erreur à la ligne 56, invalid memory access.

J'ai vu que tu avais organisé la doc du moteur physique, si tu pouvais faire la même chose pour le moteur graphique, c'est à dire séparer les commandes pour la gestion des entitys, des meshs, des terrains, bref faire des familles de commandes pour accéder plus rapidement.

Je vais tenter de reprendre mes codes 3D avec ton moteur, je suis curieux de voir ce que ça donne.
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.
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 »

Pour l'erreur ligne 56, c'est que tu dois selectionner dans la boite de dialogue
un fichier qui n'est pas un fichier 3D reconnu par DM3D, c-à-d un fichier
de type '.x' '.3ds' ou 'b3d'.

Pour la doc du moteur graphique, je suis dessus de temps en temps, et j'avance
donc doucement, je sais que c'est très pénalisant de ne pas pouvoir s'appuyer
sur une doc digne de ce nom ...
Force et sagesse...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

oui je viens de prendre le temps de regarder plus attentivement d'où venait l'erreur et je revenais te dire que c'était une fausse alerte, j'avais testé trop vite :)

tout fonctionne. Bravo.
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.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Impressionnant 8O
Joli boulot Image
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

pour infos

- tu peux utiliser KeyboardMode(#PB_Keyboard_International).
- ExaminKeyboard() ne sert à rien avant le repeat, il est déjà dans la boucle.

ExamineMouse() et les commandes MouseX() and co sont en principe à utiliser dans le mode plein écran.
Et en mode plein écran ,il faut afficher un sprite aux coordonnées de la souris.

Si tu es en mode fenêtré il faut utiliser WindowMouseX() ans co.
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.
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 »

Merci pour tes conseil Comtois, je vais corriger en conséquence le
code de mes petits samples... :wink:
Force et sagesse...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

va pas trop vite, en fait comme tu utilises OpenWindowedScreen(), il me semble que cet écran se comporte comme dans le mode plein écran.

Mais il y a une fenêtre, alors comment la souris se gère dans ce cas ?
C'est pour ça que je ne fais que du plein écran ,pour ne pas me casser la tête avec ça :)

Si d'autres pouvaient donner leurs avis à ce sujet , ça serait intéressant.
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.
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 »

En mode fenetre je n'ai pas trop compris la subtilité entre
MouseX() et WindowMouseX(n) :?:

Et en mode plein ecran, j'ai un pointeur de souris quand meme,
c'est le sablier, mais il est actif. Image
L'avantage du pointeur type 'sprite', c'est qu'il est surement plus
facile a personnaliser.

Par contre j'ai un autre petit soucis, quand je passe par le mode fenetre, si je
ne met pas la ligne en début de code:
InitSprite() il me sort comme message d'erreur a l'execution
InitSprite() must be called before use the 'Sprite' command
alors que je n'utilise pas de sprite dans mon code...
Force et sagesse...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tmyke a écrit :Et en mode plein ecran, j'ai un pointeur de souris quand meme,c'est le sablier, mais il est actif.
le code suivant te permet de choisi un curseur different :D


Procedure change_curseur(type)
     ; IDC_APPSTARTING : curseur standard + sablier
     ; IDC_ARROW : curseur standard
     ; IDC_CROSS : croix
     ; IDC_IBEAM : texte
     ; IDC_ICON : Seulement Windows NT : Icône vide
     ; IDC_NO : Cercle barré (sens interdit)
     ; IDC_SIZE : Seulement Windows NT: 4 flèches : nord sud est ouest
     ; IDC_SIZEALL : Même chose que IDC_SIZE
     ; IDC_SIZENESW : 2 flèches : nordest et sudouest
     ; IDC_SIZENS : 2 flèches : nord et sud
     ; IDC_SIZENWSE : 2 flèches : nordouest et sudest
     ; IDC_SIZEWE : 2 flèches : ouest et sud
     ; IDC_UPARROW : 1 flèche : nord
     ; IDC_WAIT : Sablier
    hcur= LoadCursor_ (0, type )
     SetCursor_ (hcur ) ;
EndProcedure


change_curseur( #IDC_CROSS ) ; pour activer la croix
change_curseur( #IDC_WAIT ) ; pour activer le sablier
Répondre