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 :

GLScene, bilbiothèque 3D basée sur OpenGL


Sujet :

Lazarus Pascal

  1. #1
    Expert confirmé
    GLScene, bilbiothèque 3D basée sur OpenGL
    Mise à jour de GLScene
    Bibliothèque 3D pour Lazarus, Delphi et C++ Builder

    Bonsoir à tous,

    Vous ne le saviez peut-être pas, mais je fais partie de la communauté de GLScene (piouf depuis presque le début).
    Je vous annonce que je viens de mettre à jour la branche "LCL" pour Lazarus 1.6.2 et version supérieure.

    Vous pouvez télécharger les sources via SVN (Tortoise ou autre) à l'adresse suivante : https://svn.code.sf.net/p/glscene/co...hes/GLSceneLCL

    L'installation ne pose aucun problème sous Windows (je n'ai pas testé sous Linux). Voir dans le dossier "Installation" le fichier d'aide htm et les captures d'écran. (Désolé, c'est en anglais, mais je pense que c'est assez simple à comprendre. J'en ferai une version française entre deux ).
    Les paquets de base sont disponibles. Je n'ai pas encore tout testé : c'est énorme comme travail, vu la quantité de code à vérifier. Donc, pour résumer : les paquets pour la gestion de l'audio (sauf OpenAL), gestion de la physique, OpenCL/Cuda que je n'ai pas encore vérifié (donc je ne peux pas en certifier la stabilité).
    La majorité (je dirais à plus de 90% environ) des démos fonctionnent.
    J'ai également converti d'autres projets provenant de la branche "Examples" de Delphi.

    Pour plus d'informations, vous pouvez allez faire un tour sur la page du forum de GLScene pour Lazarus que je viens d'ouvrir et vous pourrez également y voir quelques captures d'écran.

    N'hésitez pas à me faire parvenir vos retours si vous utilisez GLScene.

    NB : En plus, ça serait bien de mettre à jour la capture d'écran qui apparaît sur le site : https://www.lazarus-ide.org (tout à gauche)

    Merci
    • "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

  2. #2
    Responsable Lazarus & Pascal

    Bonjour,

    Excellente nouvelle et merci pour le travail effectué
    J'ai déjà utilisé GLScene avec Delphi, mais j'avais renoncé avec Lazarus à cause des nombreux bogues (mais c'était il y a bien longtemps).

    En partant d'un Lazarus 1.6.4 fraîchement installé sur Windows 10 64 bits, j'obtiens une erreur dès la tentative d'installation du paquet GLScene_RunTime. En effet, TRenderContextInfo est inconnu (ligne 399 de GLCustomShader). Impossible d'aller plus loin, d'autant que je n'ai pas trouvé de déclaration de ce type dans tout le répertoire .
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Expert confirmé
    Bonjour Gilles, merci pour ton retour effectivement je viens de tester sur un autre poste ce fichier et un autre m'ont échappé hier soir lorsque j'ai fais la mise à jour
    L'erreur est corrigée. J'ai mis a jour le depot SVN

    NB : Si jamais les noms des classes commencent toujours par TGL donc dans ton ca TRendContextInfo = TGLRenderContextInfo

    Je viens tester l'installation sous W8 et Lazarus 1.6.2 pas de problèmes

    PS : Compillez que les paquet GLScene_Runtime/OpenAl/WinOnly et installez GLScene_Designtime. Pour le moment.

    Merci encore, et n'hesitez pas à me faire parvenir vos commentaires ou bugs
    • "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
    Responsable Lazarus & Pascal

    Bien, on avance

    Effectivement, il reste des erreurs dans les paquets complémentaires. J'ai noté pour compiler GLScene_RunTime :

    erreur dans GLWindowsFont -> ligne 299 LPTEXTMTRICW expected => solution : ligne 284 var tm: LPTEXTMETRICW;

    La suite compile et s'installe .

    En revanche, les modules complémentaires ne sont pas compilables en l'état, parfois pour pas grand chose. Par exemple, les chemins de recherches n'ont pas été étendus (quasi toutes les unités référencées) et des commentaires ont sauté :
    ligne 44 de GLCgBombShader, ligne 25 de cgPostTransformationShader, ligne 291 de GLCgShader, ligne 29 de GLCgRegister. Il est aussi fait référence dans GLCgRegister à une unité qui n'existe pas : GLSceneRegisterLCL (à corriger en GLSceneRegister).

    A bientôt : je poursuis mes vérifications...
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  5. #5
    Expert confirmé
    Merci Gilles pour ces retours j'effectuerais les modifications pour le prochain envoi.

    Oui pour les paquets supplémentaires, je n'ai pas tout vérifié et corrigé. Il me reste quelques bugs à résoudre avec la base (2/3 unité manquantes ou des compos à renommer correctement pour éviter les conflits). Mais parfois c'est juste lorsque je converti de Delphi à Lazarus (Le convertisseur intégré génère une quantité de bugs invraisemblables sur de bête ligne de code ) donc dur de trouver d'ou cela proviens réellement. Bref je m'en sort quand même pas trop mal

    merci de ton soutien

    EDIT :

    erreur dans GLWindowsFont -> ligne 299 LPTEXTMTRICW expected => solution : ligne 284 var tm: LPTEXTMETRICW;
    Je viens de tester et bizarre chez moi c'est l'inverse ça me donne
    GLWindowsFont.pas(294,29) Error: Incompatible type for arg no. 2: Got "LPTEXTMETRICW", expected "LPTEXTMETRIC"
    Je me demande quel paramètre dans window ou quelle librairie est la coupable et surtout pourquoi ce truc de ouf ???
    • "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
    Responsable Lazarus & Pascal

    Citation Envoyé par BeanzMaster Voir le message

    Je viens de tester et bizarre chez moi c'est l'inverse ça me donne
    GLWindowsFont.pas(294,29) Error: Incompatible type for arg no. 2: Got "LPTEXTMETRICW", expected "LPTEXTMETRIC"
    Je me demande quel paramètre dans window ou quelle librairie est la coupable et surtout pourquoi ce truc de ouf ???
    Bonjour,

    Je précise alors le type de Windows : chez moi, c'est un Windows 10 64 bits PRO. Pour Lazarus, j'ai testé avec les versions 32 et 64 bits.
    J'essaye avec Linux durant cette semaine.

    Par ailleurs, j'ai commencé à éliminer des avertissements, surtout ceux en rapport avec des appels à des routines obsolètes.

    Bon courage

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  7. #7
    Expert confirmé
    Citation Envoyé par gvasseur58 Voir le message
    Bonjour,

    Je précise alors le type de Windows : chez moi, c'est un Windows 10 64 bits PRO. Pour Lazarus, j'ai testé avec les versions 32 et 64 bits.
    J'essaye avec Linux durant cette semaine.
    Cela doit être à cause du Pro car chez mon père hier pas problèmes
    Sous Linux ou là doit surement avoir des erreurs (Dans GLCrossPlateform.pas j'en suis presque sur )


    Par ailleurs, j'ai commencé à éliminer des avertissements, surtout ceux en rapport avec des appels à des routines obsolètes.

    Bon courage

    Gilles
    Genre GetTickCount et autres et gestion chaines de caractères, ou il en y en a un peu

    Merci
    • "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

  8. #8
    Expert confirmé
    Mise à jour de GLScene
    Bibliothèque 3D pour Lazarus, Delphi et C++ Builder

    Bonjour à tous,

    j'ai mis à jour GLScene :

    • Compatible Lazarus 1.80 RC1
    • Correction message "Warning" du compilateur
    • Suppression des dépendances de Delphi
    • Suppression du support de la librairie GR32
    • Mise à jour des démos du dossier Samples (ShadowVolume, Subdivide, SkyBox, Procedural)
    • Ajout de démos dans le dossier Examples /SceneObjects/FreeForm, /Editors

    Téléchargement via SVN : https://svn.code.sf.net/p/glscene/co...hes/GLSceneLCL
    ou téléchargez le "SnapShot" ici https://sourceforge.net/p/glscene/co...es/GLSceneLCL/


    Testé sous Windows10 Lazarus 1.80 RC 1 32Bit

    Qu'en pensez-vous ?
    • "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

  9. #9
    Expert confirmé
    Merci Alcatiz d'avoir diffusé cette annonce dans les news et en haut de page !!!

    J'en profite pour annoncer une nouvelle mise à jour :

    • Correction de quelques bugs
    • Suppression de dependances CPP
    • Mise à jour de fonctions depréciées
    • Ajout de nouveaux exemples :
      • examples\physics\atomics
      • examples\sceneobject\freeform --> \FreeFormClick, \MultiFreeForm
      • examples\sceneobject\Cube\MegaCube1
      • examples\sceneobject\SuperEllipsoid
      • examples\transport --> \airplane, \nightfighter








    Merci encore et surtout si vous avez des questions je serai là pour tenter d'y répondre au mieux.

    Testé sous Windows 10 Lazarus 1.6.4 64bits et Lazarus 1.8 rc1 32bits.
    • "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

  10. #10
    Expert confirmé
    Mise à jour de GLScene
    Bibliothèque 3D pour Lazarus, Delphi et C++Builder, basée sur OpenGL

    Bonsoir à tous, je vous informe d'une petite mise à jour des sources de GLScene.

    Vous pouvez télécharger les sources via SVN (Tortoise ou autre) à l'adresse suivante : https://svn.code.sf.net/p/glscene/co...hes/GLSceneLCL ou vous rendre
    ici : https://sourceforge.net/p/glscene/di...c4845e29/#6289 et télécharger l'archive attachée (glscene-code-7120-branches-GLSceneLCL.zip) directement.

    Cette mise à jour comprend :

    • Correction de bugs pour Linux
    • Correction pour l'installation sur MacOS
    • Ajout de générateur de nombre, sûre pour l'utilisation dans des "threads"
    • Correction de la fonction QuaternionToEuler
    • Ajout des fonctions QuartnionToEuler et QuaternionToAngleAxis
    • Correction du rendu des "LensFlare" et des particules
    • Ajout d'un shader basique simulant de l'eau
    • Ajout du paquet GLScene_Physique comprenant un système propriétaire pour gérer les forces, masses, gravité...
    • Début de mise à jour du moteur physique Newton de la version 2.35 à 3.14
    • Ajout dans les exemples d'un visualiseur de molécules (chargement de fichier MOL V2000)
    • Ajout d'un exemple sur la rotation d'un objet avec les quaternions et angles d'Euler
    • Ajout d'un exemple d'un contributeur Peter Dyson (Diceped) sur la construction d'un objet 3D par révolution
    • Corrections d'autres petits bugs


    Et vous ?
    Qu'en pensez-vous ?

    À bientôt
    • "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

  11. #11
    Expert éminent sénior
    Ben dis donc, t'en fais des jolies choses

    Ah ça j'ai reconnu... :
    Citation Envoyé par BeanzMaster Voir le message

    Ajout d'un examples d'un contributeur Peter Dyson (Diceped) sur la construction d'un objet 3D par révolution

    C'est un... cactus, cylindrus gehelscenium !
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  12. #12
    Expert confirmé
    Merci j'adore cactus, cylindrus gehelscenium

    En pratiquement un an pas beaucoup de mises à jour vraiment importantes, j'en profite pour remercier les quelques contributeurs qui m'ont envoyé des patchs. Ce qui a permis de corriger les quelques soucis sous Linux et l'installation sous MacOs.

    De plus depuis presque 5 mois je suis à fond sur ma librairie mathématique. Avec Peter, nous avons presque finalisé la 1ere version "stable" pour Unix et Win 64 et les instructions simd SSE.
    Reste encore pas mal de taf pour être complète. Version 32bit, support instruction simd AVX et surement encore 2, 3 petites choses auxquelles nous n'avons pas pensé.

    Bref sinon GLscene avec un peu de pratique, on peut arriver à faire des choses surprenantes. Allez voir sur le forum officiel, il y a quelques captures d'écran et/ou videos qui valent le detour. Par exemple regardez le travail d'un des utilisateurs shine world avec son programme sur les "CNC" (machine-outil à commande numérique). Ça m'impressionne ! Et il y en a d'autres bien sympathiques.

    À Bientôt
    • "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

###raw>template_hook.ano_emploi###