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

Lazarus Pascal Discussion :

Problèmes avec GLScene


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Problèmes avec GLScene
    Bonjour à toutes et à tous,

    En vue d'améliorer mon projet, je m'oriente vers OpenGL, pourquoi pas GLScene qui semble posséder des possibilités d'affichage de texte et autres.

    Mais j'ai des problèmes d'installation et utilisation.

    Sous Windows XP :

    - j'ai lancé setup.bat (après avoir créé le dossier sysWOW64) : résultat : fichier dContainers.dll non trouvé : n'existe pas dans le package GLScene,
    - compilation du paquet GLScene_OpenAL pas possible car :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\lazarus164\Projets_ChP\Composants\GLScene\Packages\GLScene_OpenAL.pas
    Toutefois, la compilation et l'installation du paquet GLScene_Designtime se passe bien.

    Essai d'un exemple: erreur de legacy context ?? : Unable to create legacy context EOSError OS Error Op?ration r?ussi

    Sous Raspberry (avec Stretch) :

    A la compilation du paquet GLScene_Runtime, j'ai l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpenGL1x.pas(5213,4) Error : Identifier not found 'Set8087CW'
    Bon, c'est mal parti, j'espère que ça arrivera mieux !

    Cordialement.

    Pierre

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Hello,

    Tu ne devrais pas avoir à créer le répertoire sysWOW64, c'est un répertoire système qui est apparu avec Windows 7 (peut-être avec Vista) et qui contient des binaires 64bits. Peut-être devrais-tu essayer d'installer une librairie compatible WinXP et 32 bits ?

  3. #3
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Salut

    Première question as tu bien téléchargé les sources pour lazarus ici

    pour l'installation tu peux suivre cette page ou dans le dossier "Installation" il y a le fichier html que j'avais écrit.
    Juste un conseil installes juste les paquets GLScene_RT/DT et GLScene_OpenAL si tu veux le support du son.
    Les autres paquets ne sont pas stables. Je n'ai pas assez de temps pour les mettre à jour correctement. Ils compilent mais je ne certifie pas qu'ils fonctionnent correctement. De plus je suis sur un autre très très gros projet qui vise à remplacer l'actuelle version de GLScene

    Pour ce qui est des DLL vue que tu es sous XP et en 32bits copies juste les fichiers dans c:\windows\system32 ou au mieux place ceux que tu as besoin dans le dossier de ton exécutable.
    Note : WOW signifie Windows On Windows, SysWoW64 c'est le dossier ou l'on place les DLL 32 bits dans un environnement Windows 64bits (oui c'est un peu loufoque je sais c'est du crosoft tout craché)

    Bizarre cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpenGL1x.pas(5213,4) Error : Identifier not found 'Set8087CW'
    car cette instruction fait partie de l'unité Math

    Bref voila et si tu as d'autres question concernant GLScene n'hésites pas
    Normalement
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  4. #4
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Salut

    Première question as tu bien téléchargé les sources pour lazarus ici

    pour l'installation tu peux suivre cette page ou dans le dossier "Installation" il y a le fichier html que j'avais écrit
    J'ai bien téléchargé là où tu le dis et suivi l'installation dont tu parles.

    Citation Envoyé par BeanzMaster Voir le message
    ... Juste un conseil installes juste les paquets GLScene_RT/DT et GLScene_OpenAL si tu veux le support du son. ...
    Est-ce que les paquets GLScene_RT/DT (que je n'ai pas chargés) concernent aussi le son ou bien est-ce seulement GLScene_OpenAL qui le concerne ? GLScene_OpenAL ne s'installe pas car il me manque un fichier mp3. Cela ne me dérange pas, je ne souhaite pas traiter du son

    Citation Envoyé par BeanzMaster Voir le message
    ... Pour ce qui est des DLL vue que tu es sous XP et en 32bits copies juste les fichiers dans c:\windows\system32 ou au mieux place ceux que tu as besoin dans le dossier de ton exécutable.
    Note : WOW signifie Windows On Windows, SysWoW64 c'est le dossier ou l'on place les DLL 32 bits dans un environnement Windows 64bits (oui c'est un peu loufoque je sais c'est du crosoft tout craché)
    Pas de problème. Sous Linux, apparemment, il n'y a rien à installer.

    Citation Envoyé par BeanzMaster Voir le message
    ... Bizarre cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpenGL1x.pas(5213,4) Error : Identifier not found 'Set8087CW'
    car cette instruction fait partie de l'unité Math ...
    Elle appartient aussi à l'unité OpenGL1x.pas du paquet GLScene. Je l'ai supprimée pour le chargement de ce paquet dans mon Raspberry et ça a compilé ... mais quelle répercussion cela aura-t-il ?

    Maintenant, un autre question. D'après ce que j'ai lu, GLScene ne propose pas de widgets (boutons, éditeurs de texte et autres ...). Donc, vu de mon application : afficher une image,t la translater, la faire tourner et y faire du zoom, OpenGL va remplir le même rôle ?

    Cordialement.

    Pierre

  5. #5
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ChPr Voir le message
    J'ai bien téléchargé là où tu le dis et suivi l'installation dont tu parles.


    Est-ce que les paquets GLScene_RT/DT (que je n'ai pas chargés) concernent aussi le son ou bien est-ce seulement GLScene_OpenAL qui le concerne ? GLScene_OpenAL ne s'installe pas car il me manque un fichier mp3. Cela ne me dérange pas, je ne souhaite pas traiter du son
    Pour la gestion du son c'est seulement GLScene_OpenAL, en plus le mp3 n'est pas supporté ici. Par GLScene_Runtime et GLSCene_DesignTime sont les paquets minimum requis

    Citation Envoyé par ChPr Voir le message
    Pas de problème. Sous Linux, apparemment, il n'y a rien à installer.
    Normale les librairies (so<>dll) sont souvent installées par defaut avec Linux

    Citation Envoyé par ChPr Voir le message
    Elle appartient aussi à l'unité OpenGL1x.pas du paquet GLScene. Je l'ai supprimée pour le chargement de ce paquet dans mon Raspberry et ça a compilé ... mais quelle répercussion cela aura-t-il ?
    L'instruction Set8087CW est spécifique au processeur Intel/AMD donc normal qu'avec ARM cela ne passe pas. Cela ne devrait pas avoir de répercussions

    Citation Envoyé par ChPr Voir le message
    Maintenant, un autre question. D'après ce que j'ai lu, GLScene ne propose pas de widgets (boutons, éditeurs de texte et autres ...).
    Si, si GLScene a ce se genre de chose en stock (dans le GLScene Editor, dans les objets tu "GUI Objects", mais c'est un peux "sioux" à utiliser car j'ai des soucis avec l'"editeur gui layout dans l'IDE".
    Autre solution plus simple, le TGLSceneViewer est un controle genre "TPanel" ty peux donc y déposser tes "Widgets" par dessus.

    EDIT : Pour des boutons, des listes il existe quellques astuces (tous les objets sont sélectionnables et cliquables) pour l'édition de texte c'est plus compliquer mais faisable


    Citation Envoyé par ChPr Voir le message
    Donc, vu de mon application : afficher une image,t la translater, la faire tourner et y faire du zoom, OpenGL va remplir le même rôle ?
    Carrément, avec GLScene, il te suffit de 'ajouter une "TGLMaterialLibrairy" pour répertorier tes textures. D'ajouter un TGLScene avec un DummyCube qui servira de point de "pivot" d'ajouter un enfant TGLPlane d'assigner la texture qui va bien. Ajouter une camera, une lumiere (optionnelle) et de lier le TGLSceneViewer à la camera

    Maintenant pour le zoom, la translation, la rotation tu as deux solutions :
    - Soit tu manipules le DummyCube
    - Soit tu manipules la camera

    Vu que dans ton projet tu 25 tuiles, je créerai 25 Textures et TGLPlane que je placerai comme sur une grille a l'aide de la propriété position (qui est relative à l'objet parent). Tu n'auras plus qu'a te charger du changements des textures des tuiles.
    Ou sinon il te faudra créer toi même une seule et même grosse texture comme tu le fais déja et la 1 texture + 1 TGLPlane et hop

    Ensuite pour dessiner tes routes il y a existes plusieurs solutions

    Je te ferai un petit exemple basique dans l'après-midi si j'ai assez de temps

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  6. #6
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Voila juste eu le temps de faire cette petite application basique avec GLScene,, avant de partir. Elle te montrera comment manipuler la camera et les objets pour faire des translations, rotations et zoomer

    GLSceneDemoBases.zip

    Bon après-midi

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  7. #7
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Voila juste eu le temps de faire cette petite application basique avec GLScene,, avant de partir. Elle te montrera comment manipuler la camera et les objets pour faire des translations, rotations et zoomer
    Bon après-midi

    Jérôme
    Jérôme, je te remercie sincèrement pour le temps que tu as passé à réaliser cette application pour me mettre le pied à l'étrier.

    Je l'ai installée sur mon PC sous Windows et sur mon Raspberry ( raspbian Stretch)

    Pour autant, deux petits problèmes.

    - Dans chacun de ces deux environnements, l'instruction "Application.Scaled := True" me renvoie une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    project1.lpr(17,15) Error: identifier idents no member "Scaled"
    J'ai mis cette instruction en commentaire.

    Sur mon RaspBerry, l'application tourne , mais l'image n'est qu'un rectangle gris foncé !

    Par contre, à l'exécution sur mon PC, cela crée la même erreur que je t'ai déjà indiquée à propos d'autres exemples. Ce message est présenté dans une fenêtre appelée "Notification d'exception du débogueur" :

    "Le projetproject1 a levé une classe d'exception "EOSError" avec le message :
    OS Error : Opration Russie.

    dans le fichier "C:\lazarus164\Projets_ChP\Composants\GLScene\Source\GLCrossPlatform.pas" à la ligne 479 :
    raise e;


    NOTA : J'obtiens le même type d'erreur si je dépose une composant "TGLScenViewer" sur une "form"

    Je vais commencer à analyser le code.

    Cordialement.

    Pierre

Discussions similaires

  1. Problème avec GLScene
    Par PCMan dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 20/03/2006, 10h08
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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