Moteur 3D pour Python (HARFANG 3D)

Hello la communauté,

j’aimerai présenter ici un projet sur lequel nous travaillons depuis 2016 environ. Il s’agit d’HARFANG, un moteur 3D (écrit en C++) que nous avons très tôt décidé de rendre accessible en Python 3.

HARFANG a connu plusieurs itérations et est utilisé sur de nombreux projets plutôt destinés au secteur industriel. Le dernier en date est une étude pour la SNCF, exploitant la réalité virtuelle, entièrement développée en Python, pour plonger des usagers dans une simulation et en extraire des données aussi précises que possible.

Depuis quelques mois, le source complet du moteur est disponible en license GPL/LGPLv3. Les wheel Windows et Linux sont également disponibles.

Le moteur, La documentation et les outils annexes peuvent être trouvés ici : https://www.harfang3d.com/
Le source est ici : GitHub - harfang3d/harfang3d: HARFANG 3D source code public repository
Un projet relativement complexe, écrit en Python & Harfang, se trouve ici :
GitHub - harfang3d/dogfight-sandbox-hg2: Air to air combat sandbox, created in Python 3 using the HARFANG 3D 2 framework.
… et quelques exemples plus simples sont disponibles ici :
GitHub - harfang3d/tutorials-hg2: Tutorials for Harfang Python, Go & Lua

Pour finir, je linke ici une très courte demoreel qui montre le type de rendu 3D que le moteur peut délivrer (enregistré sur une GeForce GTX 1080, la techno de rendu n’a pas besoin de RTX :innocent:) :

Bon week-end :slight_smile:

4 « J'aime »

Petite update. Un jeune collegue (developpeur en alternance) a adapté un de nos anciens projets à la nouvelle API d’HARFANG.
Il s’agit d’un petit jeu, inspiré de Flappy Bird, dans un univers zombiesque-post-apo’

Tout écrit en Python, comme d’hab!

1 « J'aime »

Hello la communauté !
La semaine dernière nous avons mis en ligne une mise à jour d’HARFANG 3D, avec un change log assez conséquent (2 mois de travail, la précédente mise à jour datant du 31 décembre :slight_smile: )

1 « J'aime »

Hello !

quelques news de la Chouette 3D, avec une playlist de tutoriels réalisés par un collègue :


Ces tutos sont basés sur un projet Python, “Harfang High Level”, qui vise à simplifier la prise en main d’Harfang. N’hésitez-pas à faire des retours si vous avez l’occasion de tester !

Par ailleurs, la v3.2.1 est en ligne, avec comme grosse amélioration le fait que la build Linux soit maintenant basée sur Ubuntu 20.04, ce qui devrait faciliter l’installation sur une majorité de machines.
Pour la prochaine release, pip install s’occupera directement de compiler le source en local, afin de maximiser la compatibilité binaire avec les différentes distro Linux… wait & see :slight_smile:

Et pour finir, le “work in progress” d’un projet mêlant Python, robotique et réalité virtuelle (featuring le Reachy de Pollen Robotics):

1 « J'aime »

Hello,

depuis hier la v3.2.2 de HARFANG 3D est en ligne, avec quelques d’améliorations dans le système rendu et pas mal de bug fix.

Entre autre, l’un de nos devs a travaillé sur la disponibilité d’HARFANG via Pypi (comme signalé ici), en faisant en sorte que la wheel compile depuis le tar.gz du source.

Testé sur pas mal de machines chez nous (Ubuntu Intel, principalement), ça semble donner de bons resultats. Si vous avez l’occasion de nous faire des retours, je suis preneur !

:warning: Les paquets suivants doivent être installés au préalable:

  • ubuntu: uuid-dev, libreadline-dev, libxml2-dev, libgtk-3-dev
  • centos/fedora: uuid-devel, readline-devel, libxml2-devel, gtk3-devel
1 « J'aime »

Hello les Pythonistas!

quelques news pour celleux qui sont en vacances (connectées) et pour celleux qui sont déjà de retour… :slight_smile:

  • On continue sur notre rythme de mises à jours (environ 5 par an), avec binaires et source github. La dernière est ici
  • Harfang Studio, notre soft d’édition de scene 3D est dispo aussi sur notre site (ici). Les données qu’il produit sont exploitables en Python via la Wheel Harfang (ainsi qu’en Lua, Go et C++ mais ça c’est un autre sujet)
  • l’équipe s’occupe également de préparer des tutos vidéos pour couvrir un maximum de sujets, qu’on trouve sur notre chaine Youtube
  • dans la séries de projets basés sur HARFANG:
    • un de nos devs juniors a commencé un POC Python “à la Minecraft”
    • pour les besoins d’un projet interne nous avons démarré une lib de GUI Python qui fonctionne en 2D, en 3D et en VR. Elle est en open source également
    • notre sandbox de combat aérien a reçu une mise à jour, qui rend le pilotage en réalité virtuelle complétement fonctionnel (sous Windows, avec un HTC Vive, un Meta Quest 2, un Lenovo ou un Rift S). Attention au mal du simulateur ! :slight_smile:

Vous noterez que nous communiquons exclusivement en Anglais, alors que toute l’équipe est installée en France… pour des raisons de ressources et de temps.
Sur le principe, l’idée d’avoir de la documentation HARFANG en Français n’est absolument pas exclue.
Question infra, entre Github et Youtube ça nous fait aussi pas mal dépendre d’opérateurs US. Pour l’instant on fait avec :slight_smile:

Voila pour les mise à jour du mois d’aout! Nous continuons d’avancer, y compris avec du support aux devs externes lorsque c’est possible.

Hello !
Quelques nouvelles du front! Nous avons mis en ligne il y’a quelques semaines une update d’HARFANG, la 3.2.4. Cette version apporte quelques correctifs sur la pipeline rendu en OpenGL (surtout utilise pour Linux), ainsi qu’une série de modifications visant à améliorer la compilation en Web Assembly

Pour l’aspect Web Assembly, nous avont été motivés par l’ami @pmp-p qui s’est plongé dans le source d’HARFANG pour en faire une preuve de concept très prometteuse :

avec une démo live ici : https://harfang3d.github.io/harfang-wasm/0.5/harfang3d.html

Pour l’instant ça reste simple, on n’a pas mal de travail encore côté toolchain HARFANG, mais on est super contents de ce mode d’utilisation auquel on n’aurait jamais pensé!

Un petit CTRL-U sur la page web fait apparaitre le source Python qui fait tourner le cube 3D…

Pour finir, nous avons eu la chance d’être invités à présenter nos travaux orientés industrie lors de la conférence en ligne “PyHEP”, où nous avons parlé de jumeaux numériques et de Python :

(j’ai dans ma todolist de refaire une piste de sous titres en Français, ça arrive, mais en attendant vous avez l’anglais…)

A bientôt!

Hello !
Je spamme un peu, mais fin Aout (comme c’est une période un peu calme) on a réalité une courte vidéo du “simulateur de vol” (guillemets avec les doigts) entièrement codé en Python :

On me voit piloter un Rafale de façon un peu décontractée, avec un casque VR HTC Vive. J’ai eu l’occasion de le faire tester à des étudiants d’une école d’ingénieur aujourd’hui, c’était assez marrant :slight_smile:

N’hésitez pas à partager la vidéo, pouces bleus, abonnez-vous, toussa :slight_smile:

2 « J'aime »

Hello!
Quelques news:

1 « J'aime »

Hello à tous !

Un petit message pour vous dire que la dernière mise à jour de HARFANG 3D, la v3.2.6 est en ligne !

Cette version apporte plusieurs correctifs et ajoute une API pour capturer le framebuffer et l’enregistrer en tant qu’image.

Disponible depuis le 12 juin !

La wheel à aussi été actualisée sur Pypi !

4 « J'aime »