TV3D et PureBasic...

Généralités sur la programmation 3D
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Message par GeBonet »

Ben... On verra ça demain...
Bonne nuit et Merci...
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

tmyke 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 :)
Un grand merci :)
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 :?:
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 »

Patrick88 a écrit :j'ai tenté (en vain) de convertir un petit code vb de création de mesh avec addvertex, pat
Bon, Pat, ton code n'est pas mauvais, il comporte en fait un ou deux petit oublie,
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
Voilà ;)
Force et sagesse...
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 »

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 ;)

ImageImage
Dernière modification par tmyke le jeu. 26/nov./2009 18:35, modifié 1 fois.
Force et sagesse...
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 »

Patrick88 a écrit :j'ai tenté (en vain) de convertir un petit code vb de création de mesh avec addvertex... pat
as-tu essayé le bout de code que j'ai complété ?
GeBonet a écrit :Ben... On verra ...
Tu n'as pas eu le temps d'essayer de nouveau ?
Force et sagesse...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

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.
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 »

comtois a écrit :je testerai la nouvelle version plus tard, merci :)
Bon test alors ;)

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...

ImageImage


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...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tmyke 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...
ce pourrai etre un bon nom ça :D

After3D(l'apres) :)
ou NEXT3D

stylisé en N3XTD ou N3XD
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 »

Dobro a écrit : ce pourrai etre un bon nom ça :D

After3D(l'apres) :)
ou NEXT3D

stylisé en N3XTD
Tu es productif ce soir coté idées :D
... plus que moi en tous les cas. Le pire, c'est que c'est pas bête du tout. ;)

(pour le N3XTD )
Force et sagesse...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

bah , c'est libre alors ... c'est toi qui vois :D
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

tmyke 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...
j'ai testé la dernière version, et je l'ai fait avec joie :) Je ne sais pas où tu va aller, mais je sens que çà va déchirer ;)
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 »

beauregard a écrit :Je ne sais pas où tu va aller, mais je sens que çà va déchirer ;)
je vais surtout aller beaucoup travailler, encore quelques centaines d'heures de programmation.
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... :wink:
Force et sagesse...
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

tmyke a écrit :
Patrick88 a écrit :j'ai tenté (en vain) de convertir un petit code vb de création de mesh avec addvertex... pat
as-tu essayé le bout de code que j'ai complété ?
GeBonet a écrit :Ben... On verra ...
Tu n'as pas eu le temps d'essayer de nouveau ?
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
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 »

Patrick88 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
Pas de soucis Pat, j'avais juste peur que tu n'ai pas vue ma réponse, noyé dans mes multiples post ;)
Force et sagesse...
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 »

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.
Force et sagesse...
Répondre