TV3D et PureBasic...
-
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse
Un grand mercitmyke a écrit :Sur ce, j'ai mis à jour l'archive, avec les premiers exemples illustrant quelques fonctions lié à la gestion physique. Je m'amuse bien à conduire la petite voiture

Le sample 21 est percutant, on envoi une sphère contre ce bel empilement de caisses, le réaction de ces dernières sous l'impact est parfaite. Je m'en lasse pas. Faut pas que KCC tombe sur çà( il traine avec des filles en ce moment...), sinon tu auras un nouvel admirateur !

Le sample 24, c'est le GTA du pauvre, mais tout est là, ou presque

le sample 18 et 19, ou le syndrome de la warpzone

-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Bon, Pat, ton code n'est pas mauvais, il comporte en fait un ou deux petit oublie,Patrick88 a écrit :j'ai tenté (en vain) de convertir un petit code vb de création de mesh avec addvertex, pat
et cela fonctionne en fait plutôt bien. Voici, avec les commentaire un code qui fonctionne bien:
Code : Tout sélectionner
Procedure.l MyCylinder(Radius.f, Height.f, Sides.f)
Protected Theta.f ;Current Angle
Protected Inc.f ;Angular increment
Protected x.f ;x coord
Protected y.f ;y coord
Protected z.f ;z coord
Protected i.l ;Integer
; il faut d'abord spécifier à la scene, que l'on
; ajoute un nouveau mesh, donc on écris:
*mesh = TVScene_CreateMeshBuilder("cylinder")
TVMesh_SetPrimitiveType(*mesh,#TV_TRIANGLESTRIP)
; cette instruction, elle aussi est obligatoire. Elle
; définit le nombre de faces que contient un objet
; et donc à la base il en faut au moins une. A priori
; par Face, TV3D entends par la subset je suppose.
TVMesh_AddFace(*mesh, 0)
;Cylinder Precision
Inc = 2 * #PI / Sides ;where each side has two triangles
Theta = 0
For i = 0 To Sides
;Calculate Vertices
x = Radius * Cos(Theta)
y = Height
z = Radius * Sin(Theta)
;Vertex at the top of the cylinder
;Mesh.AddVertex x, 0, z, 0, 0, 0
;TVMesh_AddVertex.l(*mesh.TVMesh,x.f,y.f,z.f,nx.f,ny.f,nz.f,tu1.f,tv1.f,tu2.f=0.0,tv2.f=0,color.l=0)
TVMesh_AddVertex.l(*mesh, x, 0, z, 0, 0, 0, 0, 0, 0, 0, 0)
;Vertex at the bottom of the cylinder
;Mesh.AddVertex x, y, z, 0, 0, 0
TVMesh_AddVertex.l(*mesh, x, y, z, 0, 0, 0, 0, 0, 0, 0, 0)
Theta = Theta + Inc
Next
; on veut voir nos face quelque soit 'orientation
TVMesh_SetCullMode(*mesh, #TV_DOUBLESIDED)
ProcedureReturn *mesh
EndProcedure

Force et sagesse...
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Bon, mise en ligne d'une nouvelle révision du wrap. Le liens du post initial est toujours le bon.
Les nouveautés se situent surtout au niveau de la cohabitation TV3D/PB, il semblait que TVInput
s'accomodait assez mal de PB et occasionnait des plantages que j'ai essentiellement eu avec
Vista, ainsi que des soucis en fullscreen niveau des entrés souris.
Je suis revenue donc à un interfaçage plus classique, comme je l'avais fait pour DM3D.
L'un des point gagné c'est que PB reprend en partie ses droit, comme par exemple pour la
gestion clavier (Plus de soucis de type de clavier Anglais/Français), et en plus, une intégration
au sein de Gadget est désormais facilement réalisable (d'ailleurs j'ai mis un petit exemple pour illustrer
cela ).
-3 samples ont été ajouté, moins spectaculaires certainement, un sur l'emploi de pivot,
un sur l'emploi de TV3D dans un gadget donc, et un sur l'utilisation des MiniMesh (mesh instanciers).
Voilà pour ce soir, la suite je pense d'ici à ce WE


Les nouveautés se situent surtout au niveau de la cohabitation TV3D/PB, il semblait que TVInput
s'accomodait assez mal de PB et occasionnait des plantages que j'ai essentiellement eu avec
Vista, ainsi que des soucis en fullscreen niveau des entrés souris.
Je suis revenue donc à un interfaçage plus classique, comme je l'avais fait pour DM3D.
L'un des point gagné c'est que PB reprend en partie ses droit, comme par exemple pour la
gestion clavier (Plus de soucis de type de clavier Anglais/Français), et en plus, une intégration
au sein de Gadget est désormais facilement réalisable (d'ailleurs j'ai mis un petit exemple pour illustrer
cela ).
-3 samples ont été ajouté, moins spectaculaires certainement, un sur l'emploi de pivot,
un sur l'emploi de TV3D dans un gadget donc, et un sur l'utilisation des MiniMesh (mesh instanciers).
Voilà pour ce soir, la suite je pense d'ici à ce WE



Dernière modification par tmyke le jeu. 26/nov./2009 18:35, modifié 1 fois.
Force et sagesse...
je testerai la nouvelle version plus tard, merci 

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.
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Bon test alorscomtois a écrit :je testerai la nouvelle version plus tard, merci

Voici d'ailleurs la dernière mise à jour. Deux trois bricoles d'améliorées, et trois exemples
de plus, dans le domaine des collisions et de la physique, qui restent les domaine le plus
souvent les moins évident à appréhender...


Pour le moment, cela clôture ma petite récreation 3D avec TV3D, j'y reviendrais certainement
régulièrement, car je trouve ce moteur vraiment bien, même si son adaptation a PB n'est pas
toujours évidente, PB ne supportant pas certains mécanisme inhérent désormais à la plupart
des langages modernes.
En tous les cas, maintenant, ceux qui veulent profiter de la puissance de TV3D, et ce avec
notre langage fétiche, c'est possible

J'essaierais d'être toujours là pour répondre aux éventuelles questions, et corriger les éléments
qui auraient pu m'échapper.
La bonne nouvelle pour les amateur de TV3D, c'est qu'après une certaine période de flou et de calme limite inquiétant,
une mise à jour à été faite il y a seulement quelques jour (déjà intégrée dans le pack pour PB),
et que la partie doc-site-support semble bien vouloir bouger, de quoi donc assurer une certaine pérennité du projet

Pour ma part, j'embraye de suite sur l'étude de l'après Dreamotion3D, je me suis résolu à le realisé à partir
d'un moteur déjà existant, donc à la fois opensource et à la capacité multiplateforme...
Dernière modification par tmyke le jeu. 26/nov./2009 18:35, modifié 1 fois.
Force et sagesse...
-
- Messages : 1307
- Inscription : dim. 08/juil./2007 18:32
- Localisation : Toulouse
j'ai testé la dernière version, et je l'ai fait avec joietmyke a écrit :Pour ma part, j'embraye de suite sur l'étude de l'après Dreamotion3D, je me suis résolu à le realisé à partir
d'un moteur déjà existant, donc à la fois opensource et à la capacité multiplateforme...


-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
je vais surtout aller beaucoup travailler, encore quelques centaines d'heures de programmation.beauregard a écrit :Je ne sais pas où tu va aller, mais je sens que çà va déchirer
De toute façon, j'en dirais plus dans quelques semaines, j'aurais certainement besoin de
vos avis pour les premières tours de roues, pour ceux que cela tentera...

Force et sagesse...
Oui, et il fonctionne, désolé ne n'avoir pas réagit plus tot, mais je suis en plein dans une application develloppée en windev. alors pb passe pour l'instant à la trappe....tmyke a écrit :as-tu essayé le bout de code que j'ai complété ?Patrick88 a écrit :j'ai tenté (en vain) de convertir un petit code vb de création de mesh avec addvertex... pat
Tu n'as pas eu le temps d'essayer de nouveau ?GeBonet a écrit :Ben... On verra ...
pat
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Pas de soucis Pat, j'avais juste peur que tu n'ai pas vue ma réponse, noyé dans mes multiples postPatrick88 a écrit :Oui, et il fonctionne, désolé ne n'avoir pas réagit plus tot, mais je suis en plein dans une application develloppée en windev. alors pb passe pour l'instant à la trappe....
pat

Force et sagesse...
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
JP972 donne un lien bien sympa (sur le forum de BLitz3DFr), sur une methode pour
realiser un cylindre 3D avec TV3D. Ce tuto est en anglais, certes, mais très instructif pour ceux qui le
souhaite..
http://wiki.truevision3d.com/tutorialsa ... a_cylinder
Le Wiki d'ou émane ce tuto est une très bonne source d'information pour ceux qui s'intéressent
à TV3D.
realiser un cylindre 3D avec TV3D. Ce tuto est en anglais, certes, mais très instructif pour ceux qui le
souhaite..

http://wiki.truevision3d.com/tutorialsa ... a_cylinder
Le Wiki d'ou émane ce tuto est une très bonne source d'information pour ceux qui s'intéressent
à TV3D.
Force et sagesse...