IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

TDraw3D - Composant peu documenté


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Delphi 10.4
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Delphi 10.4

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut TDraw3D - Composant peu documenté
    Bonjour,
    je dois réaliser une petite animation 3D dans un TForm (VCL). En me penchant sur le composant TDraw3D (RAD XE5), je constate pas de de fonction aux intitulé "alléchantes", (Rotation, Cube, cone, ... en 3D !), je me dis : "Voilà ce qu'il me faut !", et puis bizarrement ce composant n'est pas documenté, du moins dans l'aide de Delphi et je ne trouve pas grand chose sur embarcadero ou google .. (Ici non plus).
    Quelqu'un aurait-il déjà utiliser ce composant pour faire une petite animation 3D ou aurait des liens vers des exemples ou doc ..
    Merci.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 679
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je pense qu'il s'agit du composant faisant partie de la librairie TeeChart (https://www.steema.com/product/vcl). Il s'agirait donc d'un composant pour afficher des graphiques en 3D.
    Pour faire de la 3D en VCL, je vous conseille GLScene : http://glscene.sourceforge.net/wikka/.
    En Firemonkey (FMX), il y a déjà des choses fournies nativement pour faire de la 3D avec Delphi.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre expérimenté Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 325
    Par défaut
    Bonjour Steph1969
    Les librairies GlScene sont disponibles et encore mises à jour.
    Comme c'est mon cas, je te confirme que tu peux, même sans être un expert, très rapidement faire des démos en 3D assez rapidement, sans la complexité d'OpenGl.
    Attention au type de ta carte vidéo (notamment les cartes Intel) pour t'assurer, si tes démos sont un peu lourdes, la compatibilité avec OpenGl.

  4. #4
    Membre averti
    Profil pro
    Delphi 10.4
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Delphi 10.4

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Bonjour,
    J'ai jeter un oeil sur GLscene, .. j'ai quelques difficulté à compiler les package sous Delphi Xe5 (version que nous utilisons),
    Je cherche quelque chose de vraiment "léger" il s'agit en fait d'animer en 3D une tête (schématisée) en fonction des mouvements d'un capteur.
    manipulant très souvent les TPaintBox et canvas, je pensez pouvoir exploiter TCanvas3D.

    Merci pour vos réponses ... si vous avez des astuces pour la compilation de GLScene sous Xe5 elles sont les bienvenues ....

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Si la version est XE5 il me semble qu'il est possible d'utiliser une forme FMX (et donc l'utilisation d'un viewport3d) au sein d'une application VCL.
    Il y a même un même un composant pour https://github.com/vintagedave/firemonkey-container et peut-être d'autres pistes

  6. #6
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut Voici un exemple compilé en XE7
    Nom : Annotation 2019-10-21 174334.png
Affichages : 784
Taille : 51,7 Ko
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    tient, quand j'ouvre ton projet sous Tokyo ou Rio je n'ai pas les formes
    Nom : Presse-papiers-3.png
Affichages : 742
Taille : 32,6 Ko
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    tient, quand j'ouvre ton projet sous Tokyo ou Rio je n'ai pas les formes
    Voici une version compilée avec Tokyo. Compiler à partir du dproj ou déplacer les DAE à coté de l'exe
    Fichiers attachés Fichiers attachés

  9. #9
    Membre averti
    Profil pro
    Delphi 10.4
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Delphi 10.4

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Bonjour,
    merci pour votre aide, .. en utilisant la solution de Sergio, je suis bloqué sur l'utilisation d'un TModel3D (importation d'un fichier .OBJ ou .DAE (tete.dae du mannequin ) ), je n'arrive pas a utiliser les TLightMaterialSource pour avoir un effet 3D correct. Lorsque j'importe le fichier tete.dae, il y a bien 3 TLightMaterialsource qui sont automatiquement importé, mais la tête reste noir sans perspective ...

    PS : je suis pour l'instant avec une licence Xe5

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Je ne suis pas assez calé 3D pour donner des pistes, j'ai beaucoup galéré / consommé de temps pour les quelques essais que j'ai pu faire (merci gbegreg )
    il y a bien 3 TLightMaterialsource qui sont automatiquement importé,
    importés oui, mais associés à l'objet ?

  11. #11
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par steph1969 Voir le message
    Bonjour,
    merci pour votre aide, .. en utilisant la solution de Sergio, je suis bloqué sur l'utilisation d'un TModel3D (importation d'un fichier .OBJ ou .DAE (tete.dae du mannequin ) ), je n'arrive pas a utiliser les TLightMaterialSource pour avoir un effet 3D correct. Lorsque j'importe le fichier tete.dae, il y a bien 3 TLightMaterialsource qui sont automatiquement importé, mais la tête reste noir sans perspective ...

    PS : je suis pour l'instant avec une licence Xe5
    Envoie nous ton fichier DAE. Je vais te faire un exemple

  12. #12
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Je t'ai mis le modele dans un autre format : DAE avec une texture
    Nom : Annotation 2019-10-30 170023.png
Affichages : 697
Taille : 15,3 Ko
    Extrait structure de la fiche. TU y trouveras les composants, leur propriétés et leur position dans la hiérarchie. après tu charge Head.DAE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    object Form1: TForm1
      object Viewport3D1: TViewport3D
        Align = Client
        Size.PlatformDefault = False
        object Model3D1: TModel3D
          Position.Y = -4
          Position.Z = -10
          RotationAngle.Y = 180
          RotationAngle.Z = 180
        end
        object Light1: TLight
          Color = claWhite
          Position.X = -5
          Position.Y = -5
          RotationAngle.X = 345
          RotationAngle.Y = 65
        end
      end
    end
    Fichiers attachés Fichiers attachés

  13. #13
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Pour passer d'un format à un autre, j'utilise 'meshlab' qui est un outil gratuit

  14. #14
    Membre averti
    Profil pro
    Delphi 10.4
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Delphi 10.4

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Bonjour à tous,
    j'ai bien progressé grâce aux aides reçues ici,
    Il me reste un problème de "Rotation".
    En jouant avec la propriété Rotation (.X, .Y, .Z) de mon TModel3D, j'ai une sorte de "dérive", c'est à dire que la position n'est plus la même pour deux triplets identiques après avoir fait "tourner" l'objet dans les 3 axes.... il y a une sorte de "dérive"... par contre si je remet (0, 0, 0) alors l'objet reprend sa position initiale de manière brutale, (idem avec ResetRotationAngle).

    Comment éviter cette "dérive" ? est-bien la propriété Rotation qu'il faut utiliser pour faire cela ?

    Merci (encore).

  15. #15
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par steph1969 Voir le message
    ...
    Comment éviter cette "dérive" ? est-bien la propriété Rotation qu'il faut utiliser pour faire cela ?
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    aCtrl3D.BeginUpdate;
    aCtrl3D.ResetRotationAngle;
    aCtrl3D.RotationAngle.X := RotationObjet.X - 20;
    aCtrl3D.RotationAngle.Y := RotationObjet.Y - 90;
    aCtrl3D.EndUpdate;
    aCtrl3D.Repaint;
    voir exemple ci joint
    Nom : Annotation 2019-11-05 132716.png
Affichages : 984
Taille : 26,1 Ko
    Fichiers attachés Fichiers attachés

  16. #16
    Membre averti
    Profil pro
    Delphi 10.4
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Delphi 10.4

    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut
    Parfait cela semble fonctionner... j'osais pas trop faire le ResetRotationAngle à chaque "update" ..car je rafraichi la position 10x par secondes...

  17. #17
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par ALWEBER Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    aCtrl3D.BeginUpdate;
    aCtrl3D.ResetRotationAngle;
    aCtrl3D.RotationAngle.X := RotationObjet.X - 20;
    aCtrl3D.RotationAngle.Y := RotationObjet.Y - 90;
    aCtrl3D.EndUpdate;
    aCtrl3D.Repaint;
    voir exemple ci joint
    Nom : Annotation 2019-11-05 132716.png
Affichages : 984
Taille : 26,1 Ko
    c'est joli, par contre dès qu'on ajoute de la transparence en 3D il faut gérer l'ordre d'affichage sinon le ZBuffer bien perturber l'affichage

    Nom : transparence..gif
Affichages : 646
Taille : 499,2 Ko

    j'en parle ici
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  18. #18
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    c'est joli, par contre dès qu'on ajoute de la transparence en 3D il faut gérer l'ordre d'affichage sinon le ZBuffer bien perturber l'affichage
    Merci je vais regarder

  19. #19
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Tu as essayé l'exemple que je t'ai envoyé ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Composer un document xls
    Par olibara dans le forum Conception
    Réponses: 9
    Dernier message: 28/11/2009, 06h03
  2. Réponses: 4
    Dernier message: 27/12/2005, 12h01
  3. Documentation sur les composants réseaux
    Par OverCat dans le forum Hardware
    Réponses: 5
    Dernier message: 27/01/2005, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo