France
Joined: Nov 7, 2005
Post Count: 9430
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Il n'a pas de javadoc de SunFlow. Je l'ai utilisé comme bibliothèque dans Sweet Home 3D mais au départ c'est plutôt une application dont le style de programmation est plus que discutable pour un Java boy comme moi. D'après Christopher Kulla, son développeur, c'est un choix qui devrait faciliter son portage en C. A voir...
Pour retrouver les appels Java qu'il faut effectuer pour utiliser telle ou telle fonctionnalité, il faut regarder comment la classe de parser SCParser est progammée. Pour le type de lumière Point, il faut programmer les trois appels suivants d'après les instructions de cette classe et ce que j'ai programmé dans la classe PhotoRenderer :
this.sunflow.parameter("center", new Point3(x, z, y)); this.sunflow.parameter("power", null, (lightColor >> 16) * power / 255, ((lightColor >> 8) & 0xFF) * power / 255, (lightColor & 0xFF) * power / 255); this.sunflow.light(UUID.randomUUID().toString(), "point");
Pour voir à quelle classe SunFlow correspond le dernier paramètre "point", il faut explorer la classe PluginRegistry.
Le projet SunFlow est en stand by en ce moment. Le développeur m'a écrit qu'il est un peu coincé car son vrai boulot consiste à développer des choses similaires à SunFlow mais pas en open source, en tout cas jusqu'à très récemment. N'hésitez pas à l'encourager pour qu'il s'y remette.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Joined: Mar 15, 2010
Post Count: 62
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Ok, pigé ! Je me disais bien qu'il fallait mettre le nez sous le capot, mais je ne voyais pas où... Merci !
Ce qui est dommage avec SunFlow, c'est que ce ne soit pas très objet...
J'ai effectivement lu la discussion sur le forum, où il explique son dilemne... Une solution serait de la décliner sous une double license, comme beaucoup de projets : une libre, et une pas libre. C'est visiblement une formule qui fonctionne si de gros éditeurs comme Trolltech (Nokia, maintenant) l'utilisent.
----------------------------------------
Frédéric
Joined: Mar 15, 2010
Post Count: 62
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Bonne nouvelle : il existe déjà un type de caméra pour générer une image équirectangulaire ! C'est le type 'spherical'...
Là, je crois que ça va être vraiment le pied !!!
PS : autant la projection du soleil n'intéressera sans doute pas grand monde (encore que), autant, pouvoir générer une visite virtuelle est vraiment un plus ; Emmanuel, va falloir que tu nous ajoutes un petit combobox pour choisir le type de caméra Tant qu'à faire, mets-les toutes.
PS : dans le cas du spherical, il faut verrouiller le ratio à 2:1 (puisqu'on a 360°x180°). Pour le fisheye, je pense qu'il faut verrouiller au ratio 1:1.
----------------------------------------
Frédéric
France
Joined: Nov 7, 2005
Post Count: 9430
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Whouaou, trop chouette !
Avec quel logiciel génères-tu une image SWF à partir d'une image équirectangulaire et effectues-tu l'assemblage SWF avec les liens? Arriveras-tu à créer un plug-in capable de générer ce genre de fichier de A à Z?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Joined: Mar 15, 2010
Post Count: 62
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Pour générer le swf à partir de l'image équirectangulaire, j'utilise pano2vr, qui a le bon goût d'exister sous linux. Sinon, AutoPano Tour est super aussi, mais dans sa version béta actuelle, il crash sur ma machine.
En fait, pour générer l'image, il n'y a rien à faire : juste changer le type de caméra SunFlow. Plutôt que de faire un plugin, le plus simple c'est d'ajouter un petit combobox dans le dialogue Photo, avec les différents types (pinhole, thinlens, fisheye et spherical). Y'a juste le ratio à bloquer, mais ce n'est même pas primordial : à partir d'un 16:9, il suffit de redimensionner en 2:1 sous Gimp (on aura juste calculé des points en trop si on comprime en hauteur).
PS : je n'ai pas encore testé thinlens, mais il doit être sympa. Mais il nécessite quelques paramètres en plus, pour contrôler la pdc...
J'attends avec impatience les esquisses de l'archi pour modéliser son travail, et voir si ça colle bien avec ce qu'on cherche au niveau ouvertures par rapport au soleil (là, on pourra vérifier à quelle heure le soleil tombe sur la table, le matin au petit déj').
----------------------------------------
Frédéric
Joined: Mar 15, 2010
Post Count: 62
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Emmanuel, quand penses-tu sortir la version 2.3 ?
Je pense que je vais être pas mal occupé les 2 prochains mois (date du dépôt du permis de construire), et je vais faire fumer ma version 2.2 modifiée, mais après ça, si tu penses qu'il y a des choses qui en valent la peine, je te propose de passer un peu de temps pour voir comment les intégrer dans le soft, soit dans la branche principale, soit sous forme de plugin...
Si tu souhaites sortir la 2.3 rapidement, y'a peut-être quand même un truc ou deux qu'il serait sympa d'ajouter, comme le choix du type de caméra : ça ne demande pas grand chose comme modife.
Dis-moi ce que tu en penses...
----------------------------------------
Frédéric
France
Joined: Nov 7, 2005
Post Count: 9430
Status:
Offline
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil
Hum, désolé je pensais que tu avais vu passé l'info mais la version 2.3 est sortie dimanche dernier ! Je l'ai pourtant annoncé directement ou indirectement à pas mal d'endroits : dans le forum, sur le blog, dans l'historique, sur la page d'accueil, avec le tag V_2_3 dans le code source, les fichiers et la news sur SourceForge.net.
Si tu n'as pas trop le temps d'aller plus loin, partage s'il te plait les fichiers que tu as modifiés comme tu l'as déjà fait. Je tâcherai d'en faire un plug-in dans les semaines qui viennent.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator