Écrire un plugin pour simuler l'éclairage de la course du soleil

This topic has been viewed 78764 times and has 71 replies
Thread status: Active
Vos suggestions et questions en français [img]http://www.sweethome3d.com/images/flags/fr_small.gif[/img]
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by Puybaret »

J'ai essayé PanoSalado sans succès pour l'instant. [:(]
Pourtant j'y ai mis du mien, et ce pendant plusieurs heures, mais si c'est trop compliqué pour moi, ça n'est même pas la peine de l'envisager pour les utilisateurs de Sweet Home 3D.
J'ai soumis mes déconvenues à l'équipe de PanoSalado. Voyons voir ce qu'ils vont répondre... [;)]
Emmanuel Puybaret, Sweet Home 3D creator
fma
Posts: 62
Joined: Mon Mar 15, 2010 8:14 am

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by fma »

Je t'avoue que je ne l'ai jamais vraiment essayé. C'est vrai qu'il faut mettre les mains dans le cambouis. Ça fait un moment que je n'ai pas regardé de près le projet, et j'aurais pensé qu'il avait évolué vers la simplicité...

Comme je génère pas mal de sphériques en photo, j'ai acheté la license de pano2vr, qui est assez simple d'utilisation (bien documenté, en tout cas), et pas trop cher. Il y aura aussi Autopano Tour qui va bientôt devenir un outil indépendant (pour l'instant, il faut l'acheter avec Autopano Giga).

Sinon, juste une petite remarque concernant ton rendu : lorsque tu fais un sphérique (projection équirectangulaire, en fait), il faut que tu mettes le pitch à 0 (c'est à dire regarder horizontalement, ou encore que tes verticales soient verticales). Sinon, il y a un problème lors de la visualisation.

Lorsqu'on sélectionne ce type de caméra, ce serait pas mal de forcer automatiquement le ratio à 2:1, et le pitch à 0...
Frédéric
fma
Posts: 62
Joined: Mon Mar 15, 2010 8:14 am

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by fma »

Zut, apparemment je n'aurais pas du hésiter à écrire un rappel sur l'installation des plug-ins. [;)]

Les plug-ins sont abordés dans le guide d'utilsation
Je suis une buse : j'avais bien suivi ces explications, mais je regardais dans le mauvais menu (comme j'avais fait des tests de plugins sans traduction, les miens sont dans Tools, alors que le vrai menu c'est Outils !).

Mais ça ne marche pas :

Code: Select all

 Make sure it is located in the  same server and directory with the model file. the loader's base path is: jar:file:/tmp/open1374584905366604351.sweethome3d!/29/
 Make sure it is located in the  same server and directory with the model file. the loader's base path is: jar:file:/tmp/open1374584905366604351.sweethome3d!/29/
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException                                                                                            
        at com.eteks.sweethome3d.plugin.advancedrendering.AdvancedPhotoPanel.displayView(Unknown Source)                                                         
        at com.eteks.sweethome3d.plugin.advancedrendering.CreateAdvancedPhotoPlugin.createAdvancedPhotoPlugin(Unknown Source)                                    
        at com.eteks.sweethome3d.plugin.advancedrendering.CreateAdvancedPhotoPlugin.access$000(Unknown Source)                                                   
        at com.eteks.sweethome3d.plugin.advancedrendering.CreateAdvancedPhotoPlugin$1.execute(Unknown Source)                                                    
        at com.eteks.sweethome3d.swing.HomePane$ActionAdapter.actionPerformed(Unknown Source)                                                                    
        at com.eteks.sweethome3d.swing.ResourceAction$AbstractDecoratedAction.actionPerformed(Unknown Source)                                                    
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)                                                                                        
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)                                                                                    
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)                                                                                    
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)                                                                                             
        at javax.swing.AbstractButton.doClick(Unknown Source)                                                                                                    
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)                                                                                        
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(Unknown Source)                                                                  
        at javax.swing.JMenuItem.fireMenuDragMouseReleased(Unknown Source)                                                                                       
        at javax.swing.JMenuItem.processMenuDragMouseEvent(Unknown Source)                                                                                       
        at javax.swing.JMenuItem.processMouseEvent(Unknown Source)                                                                                               
        at javax.swing.MenuSelectionManager.processMouseEvent(Unknown Source)                                                                                    
        at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(Unknown Source)                                                                  
        at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)                                                                            
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)                                                                              
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)                                                                              
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)                                                                              
        at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source)                                                                                              
        at java.awt.Component.dispatchEventImpl(Unknown Source)                                                                                                  
        at java.awt.Container.dispatchEventImpl(Unknown Source)                                                                                                  
        at java.awt.Component.dispatchEvent(Unknown Source)                                                                                                      
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)                                                                                     
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)                                                                                      
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)                                                                                          
        at java.awt.Container.dispatchEventImpl(Unknown Source)                                                                                                  
        at java.awt.Window.dispatchEventImpl(Unknown Source)                                                                                                     
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at com.eteks.sweethome3d.plugin.advancedrendering.AdvancedPhotoPanel.displayView(Unknown Source)
        at com.eteks.sweethome3d.plugin.advancedrendering.CreateAdvancedPhotoPlugin.createAdvancedPhotoPlugin(Unknown Source)
        at com.eteks.sweethome3d.plugin.advancedrendering.CreateAdvancedPhotoPlugin.access$000(Unknown Source)
        at com.eteks.sweethome3d.plugin.advancedrendering.CreateAdvancedPhotoPlugin$1.execute(Unknown Source)
        at com.eteks.sweethome3d.swing.HomePane$ActionAdapter.actionPerformed(Unknown Source)
        at com.eteks.sweethome3d.swing.ResourceAction$AbstractDecoratedAction.actionPerformed(Unknown Source)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(Unknown Source)
        at javax.swing.JMenuItem.fireMenuDragMouseReleased(Unknown Source)
        at javax.swing.JMenuItem.processMenuDragMouseEvent(Unknown Source)
        at javax.swing.JMenuItem.processMouseEvent(Unknown Source)
        at javax.swing.MenuSelectionManager.processMouseEvent(Unknown Source)
        at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(Unknown Source)
        at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
        at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
        at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Frédéric
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by Puybaret »

Hum, est-ce que tu voudrais bien recharger le plug-in STP ?
J'ai fait plusieurs modifs sur la version 1.0 hier sans changer de numéro de version, dont une pour corriger ce type d'erreur.
Emmanuel Puybaret, Sweet Home 3D creator
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by Puybaret »

Je t'avoue que je ne l'ai jamais vraiment essayé. C'est vrai qu'il faut mettre les mains dans le cambouis.
C'est le moins qu'on puisse dire! [;)]
Moi qui n'avait jamais fait de Flex, j'ai été obligé de télécharger le compilateur Flex, compiler les fichiers .as... pour finalement ne même pas y arriver. Et je ne suis pas du genre à baisser les bras facilement (et de l'avouer sur la place publique) !
Lorsqu'on sélectionne ce type de caméra [sphérique], ce serait pas mal de forcer automatiquement le ratio à 2:1, et le pitch à 0...
Ok c'est fait. Tu es bon pour télécharger la version 1.0 encore une fois. [:)]
Emmanuel Puybaret, Sweet Home 3D creator
fma
Posts: 62
Joined: Mon Mar 15, 2010 8:14 am

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by fma »

Yep, ça marche ! Je fais des tests plus poussés...
Frédéric
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by Puybaret »

C'est bon. J'ai réussi à faire fonctionner PanoSalado avec une solution assez simple pour qu'elle soit reproductible par n'importe qui. [:)]

Ca sent le nouvel article pour le blog de Sweet Home 3D tout ça... [;)]
Emmanuel Puybaret, Sweet Home 3D creator
fma
Posts: 62
Joined: Mon Mar 15, 2010 8:14 am

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by fma »

Super ! Faut vraiment que je le regarde de plus près, ce truc...
Frédéric
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by Puybaret »

Voilà j'ai publié un nouvel article dans le blog, et fait quelques dernières retouches au plug-in.
Emmanuel Puybaret, Sweet Home 3D creator
fma
Posts: 62
Joined: Mon Mar 15, 2010 8:14 am

Re: Écrire un plugin pour simuler l'éclairage de la course du soleil

Post by fma »

Merci pour le tutoriel sur Panosalado !

Je pensais à un truc : le jour où tu rebricoles un peu le plugin, ce serait pas mal d'ajouter les coordonnées du soleil (azimuth/élévation) calculées à partir des valeurs données par l'utilisateur... Ça peut servir.
Frédéric
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 2 guests