Index  | Recent Threads  | List Attachments  | Search
 Welcome Guest  |  Register  |  Login
Login Name  Password
 

Sweet Home 3D Forum



No member browsing this thread
Thread Status: Active
Total posts in this thread: 72
Posts: 72   Pages: 8   [ Previous Page | 1 2 3 4 5 6 7 8 | Next Page ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 74559 times and has 71 replies Next Thread
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Bon, j'avance tout doucement. J'ai donc créé un nouveau plugin, et copié le code des fichiers HomeImageRenderer.java et CreatePhotoPlugin.java.

J'ai omis le package org.SunFlow, comme tu m'a indiqué, mais ça gueule sur les import relatifs à ce package. De même, ça gueule sur les import javax.xxx.

J'ai pourtant bien mis le jar de SweetHome3D...

Pour info, j'ai chargé le source de SweetHome3D dans eclipse, et j'arrive à le lancer correctement. Je me demande si je n'irais pas plus vite en modifiant directement le source... Il sera toujours temps de faire un plugin propre après, non ? Qu'en penses-tu ?
----------------------------------------
Frédéric
[Mar 16, 2010, 9:00:31 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 9430
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Tes erreurs sont simplement dues au fait qu'il faille ajouter aussi les bibliothèques utilisées par Sweet Home 3D à ton projet de plug-in (SweetHome3D.jar ne contient pas les classes de ces bibliothèques mais leur fichier jar).

Mais tu as probablement raison (j'y ai pensé après mon message) : si tu arrives à reprendre le projet Sweet Home 3D dans son ensemble dans Eclipse, autant modifier directement le code source du projet lui-même.
La création d'un plug-in te permettra ensuite de partager tes trouvailles avec d'autres utilisateurs.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
[Mar 16, 2010, 9:11:58 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Bon, ben c'est bon pour les modifes dans le code source : ça tourne ! Je vois bien que les fenêtres sont maintenant transparentes...

Reste à voir les éclairages :

- que représente exactement 'sundir' ? Est-ce la position du soleil ? Quel est le référentiel ? À quoi correspond une unité dans le code, par rapport aux distances sur le plan ?

- comment donner les coordonnées du soleil, dans un premier temps via un GUI (on verra plus tard pour un truc automatique) ?

- comment supprimer (ou modifier le niveau) des éclairages intérieur (plafond et aux 4 coins) ? Là, je vois surtout les ombres des fenêtres projetées sur la pelouse, mais quasiment pas les ombres des fenêtres projetées sur les murs intérieurs...

En tout cas, bien content d'avancer aussi vite smile C'est top ! J'ai bien fait de ne pas m'embarquer dans blender, un peu overkill pour ce que je veux faire...
----------------------------------------
Frédéric
[Mar 16, 2010, 9:45:31 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Bon, effectivement, mettre une texture pour le ciel empèche le calcul des ombres en mode visite virtuelle (mais pas en mode aérien).

Par contre, dans tous les cas, je n'ai pas le calcul des ombres dans le meilleur rendu : uniquement au niveau 3 ('illumination globale rapide...').
----------------------------------------
Frédéric
[Mar 16, 2010, 9:58:09 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Voici le rendu, en qualité 3, d'une pièce comportant 4 fenêtres (une sur chaque mur), en mode virtuel, en se mettant au plafond et en regardant vers le bas :



Voici le même rendu, dans la qualité la plus haute :



Y'a plein de choses qui disparaissent ! Visiblement, la gestion des éclairages n'est pas du tout la même... Tu peux m'en dire plus ?

Merci d'avance.
----------------------------------------
Frédéric
[Mar 17, 2010, 2:15:02 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 9430
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Je ne peux pas t'en dire bien plus sur la qualité 3 car je ne suis pas le programmeur de SunFlow.
J'ai mis la qualité 3 surtout parce qu'elle est plus rapide et donne un aperçu de ce que pourrait donner la qualité 4.

"sundir" spécifie les coordonnées du vecteur représentant la direction des rayons du soleil. En jouant sur les valeurs des 3 coordonnées tu changeras la direction des rayons, sachant que la seconde valeur représente la verticale. Tu comprendras vite en essayant, à moins que toi et la trigo soyez des ennemis jurés. wink

Dans le GUI, je mettrai un slider pour l'heure de la journée et un spinner pour la latitude.
Il doit bien y avoir sur Internet une formule qui te donnera la direction ou les angles du soleil en fonction de ces valeurs.

Les lumières aux plafonds sont calculées aux lignes 176 à 217 de PhotoRenderer. En diminuant la valeur de power à la ligne 207, tu auras des lumières moins puissantes.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
[Mar 17, 2010, 7:00:35 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Ok, je vais essayer de trouver plus d'infos sur sunflow ; j'ai remarqué que le truc est sioux, car il tient compte de la position par rapport à l'horizon pour déterminer l'intensité lumineuse. Il joue en particulier sur la lumière diffuse du ciel (on le voit bien au halo au pied des fenêtres, dans la capture ci-dessous)... Mais dans mon cas, ça ne m'arrange pas trop, car lorsque le soleil est bas, je ne vois plus l'ombre projetée... Il faudrait que j'arrive à jouer sur le ratio des 2 types de lumière.

J'ai commencé à bricoler dans le GUI (PhotoPanel), et ajouté 2 spinner, pour l'azimuth et l'élévation (pour l'instant, je calcule ça dans un petit programme python ; je l'intégrerai après dans SweetHome3D, avec, comme tu le suggères, quelque chose pour changer la date et l'heure).

Par contre, j'ai des soucis avec le GUI : l'un des spinner ne fonctionne pas avec les petites flèches. Et aucun des 2 ne conserve sa valeur, ni même n'a la bonne valeur par défaut. J'ai pourtant en principe ajouté tout ce qu'il fallait dans les classes PhotoController et HomeEnvironment...

Est-ce que je peux déposer les classes modifiées quelques part, pour que tu y jettes un oeil, et me dire où je me plante ?


----------------------------------------
Frédéric
[Mar 17, 2010, 7:26:27 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Voici les classes modifiées...
----------------------------------------
Attachment sh3d-sun-shadow.zip (21990 bytes) (Download count: 9624) (Fichiers HomeEnvironment.java, PhotoRenderer.java, PhotoPanel.java, PhotoController.java)

----------------------------------------
Frédéric
[Mar 18, 2010, 8:37:15 AM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
fma
Member




Joined: Mar 15, 2010
Post Count: 62
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

J'ai oublié de préciser que je suis parti des sources de la version 2.2, et non pas du dépôt. J'aurais peut-être dû récupérer la 2.3-béta...
----------------------------------------
Frédéric
[Mar 18, 2010, 9:38:31 AM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Puybaret
Expert
Member's Avatar

France
Joined: Nov 7, 2005
Post Count: 9430
Status: Offline
Reply to this Post  Reply with Quote 
Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Le spinner de l'azimuth est initialisé avec une valeur 0 qui est en dehors des bornes que tu lui as fixées, et ça ne plait pas au spinner.

Pour corriger, les valeurs des angles par défaut que tu as données dans le constructeur de HomeEnvironment doivent l'être aussi dans le constructeur précédent (désolé je n'ai simplifié l'enchaînement les constructeurs que dans la version 2.3).
Il faut aussi recopier les valeurs des angles de l'objet HomeEnvironment dans l'objet PhotoController en ajoutant à la méthode updateProperties de PhotoController les instructions suivantes :

setSunAzimuth(homeEnvironment.getSunAzimuth());
setSunElevation(homeEnvironment.getSunElevation());


Tu peux rester sur la version 2.2 pour l'instant bien que la version 2.3 gère mieux l'arrêt du rendu. smile
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
[Mar 18, 2010, 6:42:40 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Posts: 72   Pages: 8   [ Previous Page | 1 2 3 4 5 6 7 8 | Next Page ]
[ Jump to Last Post ]
Show Printable Version of Thread  Post new Thread

  Get Sweet Home 3D at SourceForge.net. Fast, secure and Free Open Source software downloads  
© Copyright 2024 Space Mushrooms - All rights reserved