Would you like to react to this message? Create an account in a few clicks or log in to continue.



 
HomeHome  Latest imagesLatest images  SearchSearch  RegisterRegister  Log inLog in  

 

 editeur de système de particule de SPARK (topic de dev)

Go down 
3 posters
Go to page : Previous  1, 2, 3
AuthorMessage
Darktib
Committer
Darktib


Messages : 389
Date d'inscription : 2009-07-20
Localisation : A coté de Paris

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeSun Aug 22, 2010 7:47 am

Ok, je pense pouvoir laisser le choix entre 3 options: éditer les angles en brut ( comme maintenant ), éditer en fonction de pi ( genre x*pi dans le spinbox, on peut choisir x réel ), ou en degrés.

Pour le clamp step, je le mettrais aussi.
Back to top Go down
Darktib
Committer
Darktib


Messages : 389
Date d'inscription : 2009-07-20
Localisation : A coté de Paris

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeSun Aug 22, 2010 2:30 pm

2 nouveaux screenshots pour bien montrer l'arrivée de l'éditeur de courbes:
editeur de système de particule de SPARK (topic de dev) - Page 3 100822082712170926611048
editeur de système de particule de SPARK (topic de dev) - Page 3 100822082710170926611044
(dsl pour la taille)

EDIT: Une nouvelle image, une nouvelle version va arriver très bientôt.
editeur de système de particule de SPARK (topic de dev) - Page 3 100824121840170926620437
Back to top Go down
Darktib
Committer
Darktib


Messages : 389
Date d'inscription : 2009-07-20
Localisation : A coté de Paris

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeThu Aug 26, 2010 6:12 am

Nouvelle version: 0.5. Au menu: corrections de bugs, arrivée de l'éditeur de courbes, et quelques nouveaux plugins.
Dans le pack est aussi fourni une sorte de sdk permettant de créer des plugins (ca n'est pas encore un 'vrai' SDK, la seule doc dispo étant les commentaires de code et les exemples). Ce 'sdk' ne contient pas encore les sources permettant d'intégrer des moteurs de rendu dans le logiciel.

C'est ici: http://www.mediafire.com/?typtrc2wxtmhz0t (http://ww w.mediafire.com/?typtrc2wxtmhz0t)

Il s'agit d'une version release, contrairement à toutes les autres versions qui étaient en débug.

Enjoy!
Back to top Go down
Darktib
Committer
Darktib


Messages : 389
Date d'inscription : 2009-07-20
Localisation : A coté de Paris

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeMon Feb 07, 2011 3:03 pm

Des petites nouvelles - sans release...

Au niveau des plus grands changements, le premier est que l'éditeur change de nom. Il s'appelle dorénavant Icewhirl. Ensuite la version de SPARK qui est utilisée est SPARK2. Au niveau de la GUI, il y a eu pas mal d'ajout, certains docks ont été revus de fond en comble, voire même refait de 0. Au niveau gestion des configurations, j'utilise maintenant CMAKE. Pas de caotures d'écran pour l'instant, vu que les plugins (dont l'interface à été simplifiée) n'ont pas tous été réecrits. Pour donner une idée de ce à quoi ressemble un plugin:
Code:
#include <IWPlugin.h>
#include <Version.h>

IW_ENABLE_PLUGIN_COMMUNICATION

class EmitterRandom : public IWPlugin
{
   public:
      virtual ~EmitterRandom() {}

   /// DATABASE RELATED
      IW_PROPERTY_TABLE
         IW_PROPERTY( "active" , true , IWSP_ACTIVENESS )
         IW_PROPERTY( "tankMin" , -1 , IWSP_TANKMIN )
         IW_PROPERTY( "tankMax" , -1 , IWSP_TANKMAX )
         IW_PROPERTY( "flow" , 1.0 , IWSP_FLOW )
         IW_PROPERTY( "forceMin" , 1.0 , IWSP_FORCEMIN )
         IW_PROPERTY( "forceMax" , 1.0 , IWSP_FORCEMAX )
         IW_PROPERTY( "zone" , "" , IWSP_ELEMENTZONE )
         IW_PROPERTY( "fullzone" , true , IWSP_FULLZONE )
      IW_END_PROPERTY_TABLE

      virtual void verifyAndCorrectProperties(DatabaseRow& row, const QString propchanged)
      {
         int tankMin=row.getProperty("tankMin").toInt(),
            tankMax=row.getProperty("tankMax").toInt();
         double forceMin=row.getProperty("forceMin").toDouble(),
              forceMax=row.getProperty("forceMax").toDouble(),
              flow=row.getProperty("flow").toDouble();

         if(propchanged == "flow")
         {
            if(tankMin < 0 && tankMax < 0 && flow < 0.0)
               flow = 0.0;
         }
         else
         {
            if(propchanged == "tankMin" && tankMin > tankMax) tankMax = tankMin;
            else if(propchanged == "tankMax" && tankMin > tankMax) tankMin = tankMax;

            if((propchanged == "tankMin" && tankMin < 0) || (propchanged == "tankMax" && tankMax < 0))
            {
               if(flow < 0.0)
               {
                  tankMin = 0;
                  tankMax = 0;
               }
               else
               {
                  tankMin = -1;
                  tankMax = -1;
               }
            }
         }

         if(propchanged == "forceMin" && forceMin > forceMax) forceMax = forceMin;
         else if(propchanged == "forceMax" && forceMin > forceMax) forceMin = forceMax;

         row.setProperty("tankMin",tankMin);
         row.setProperty("tankMax",tankMax);
         row.setProperty("forceMin",forceMin);
         row.setProperty("forceMax",forceMax);
         row.setProperty("flow",flow);
      }
      virtual QStringList getTargetedDataFromProperties(const DatabaseRow& row)
      {
         if(row.getProperty("zone").toString() != "")
            return QStringList() << row.getProperty("zone").toString();
         return QStringList();
      }
      virtual QStringList getPropertiesOfTarget(const DatabaseRow& row, const QString tgt)
      {
         if(tgt == row.getProperty("zone").toString())
            return QStringList() << "zone";
         return QStringList();
      }
      virtual GUIViewStructure getGUIViewStructure()
      {
         GVS::Group p("Global",GVS::Static),e("Emission",GVS::Static);

         p << GVS::Property("Active",GVS::Bool,"active")
           << GVS::setAttributeValue(GVS::Property("Zone",GVS::SpkElement,"zone"),"type",IWT_ZONE)
           << GVS::Property("Full zone",GVS::Bool,"fullzone");

         e << GVS::setAttributeValue(GVS::setAttributeValue(
               GVS::Property("Tank min",GVS::Int,"tankMin"),"min",-1),"step",10)
           << GVS::setAttributeValue(GVS::setAttributeValue(
               GVS::Property("Tank max",GVS::Int,"tankMax"),"min",-1),"step",10)
           << GVS::setAttributeValue(GVS::Property("Force min",GVS::Double,"forceMin"),"min",0.0)
           << GVS::setAttributeValue(GVS::Property("Force max",GVS::Double,"forceMax"),"min",0.0)
           << GVS::setAttributeValue(GVS::setAttributeValue(
               GVS::Property("Flow",GVS::Double,"flow"),"min",-1.0),"step",10.0);

         return GUIViewStructure() << p << e;
      }

   /// SPARK RELATED
      virtual SPK::Ref<SPK::SPKObject> createSparkElement(const DatabaseRow& row)
      {
         SPK::Ref<SPK::RandomEmitter> v = SPK::RandomEmitter::create();
         updateSparkElement(v,row);
         return v;
      }
      virtual void updateSparkElement(SPK::Ref<SPK::SPKObject> reg, const DatabaseRow& row)
      {
         if(!reg) return;

         int tankMin=row.getProperty("tankMin").toInt(),
            tankMax=row.getProperty("tankMax").toInt();
         double forceMin=row.getProperty("forceMin").toDouble(),
              forceMax=row.getProperty("forceMax").toDouble(),
              flow=row.getProperty("flow").toDouble();
         bool active=row.getProperty("active").toBool(),
            fullzone=row.getProperty("fullzone").toBool();
         QString zone=row.getProperty("zone").toString();

         SPK::RandomEmitter* ne = dynamic_cast<SPK::RandomEmitter*>(reg.get());
         if(!ne) return;

         ne->setActive(active);
         ne->setFlow(flow);
         ne->setTank(tankMin,tankMax);
         ne->setForce(forceMin,forceMax);
         ne->setZone(IW_GET_SPARK_ELEMENT(zone,SPK::Zone),fullzone);
      }

   /// PLUGIN RELATED
      IW_PLUGIN_NAME( "Random Emitter" )
      IW_PLUGIN_TYPE( IWT_EMITTER )
      IW_PLUGIN_ELEMENT( "SPK::RandomEmitter" )
      IW_PLUGIN_AUTHOR( "Thibault 'Darktib' Lescoat" )
      IW_PLUGIN_LEGALMENTIONS( "Copyright (C) 2011 Thibault Lescoat. "
                         "Based on SPARK Particle Engine, Copyright (C) 2008-2011 Julien Fryer" )
      IW_PLUGIN_VERSION( SPARK_VERSION )
      IW_PLUGIN_ICON( ":/IW_Emitters_Plugin_Root/random" )
      IW_PLUGIN_DESCRIPTION(   "An emitter that emits in a random direction. "
                        "This is the plugin of the SPARK built-in Random emitter." )
};

Les plugins se ressemblent beaucoup. A noter que l'include version.h n'est ici que parce que le plugin sera inclu dans l'éditeur (mais sous la forme d'une dll)
Back to top Go down
Darktib
Committer
Darktib


Messages : 389
Date d'inscription : 2009-07-20
Localisation : A coté de Paris

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeSun Sep 11, 2011 4:09 pm

editeur de système de particule de SPARK (topic de dev) - Page 3 A824d8828e17173a5d5b383b8744118b28a79bc96c7deba8910bed109308d4304gIcewhirl 1.0beta1
Nouvelle version: 1.0beta1!

Capture d'écran:
editeur de système de particule de SPARK (topic de dev) - Page 3 110911100413170928729383

Changelog (en):
Code:

----- Changes in SPARK Particle Editor -----

Major changes:

 - The official name for 'SPARK Particle Editor' is 'Icewhirl'
 - The underlying SPARK engine is now SPARK 2.0
 - Overhaul of the Properties Dock (bugfixes, added 2 group types)
 - Total overhaul of the Scene Dock (performance improvements, bugfixes, new features, etc...)
 - Threaded save, extendible
 - New dock: Console, extendible with add-on commands
 - New dock: History, maintains undo/redo history, extendible
 - New dock: Media, manages textures/models. Database no longer manages media
 - New extension system

Minor changes:

 - Software configuration is now stored in a xml file
 - New way to store global properties
 - Now database allow complex types (like QStringList) in row properties
 - Bugfixes...
Note: le chargement de fichiers n'est pas encore opérationnel.

Téléchargement : http://www.mediafire.com/?984eggzqrz0yn1d

@Juff: Avant, avec les liens, on était redirigé par un site bizarre. Maintenant c'est Adf.ly... si c'est pas toi qui est bénéficiaire du lien, quelqu'un se fait de l'argent sur ton dos (et celui des visiteurs...)
Back to top Go down
Juff
Developer



Messages : 539
Date d'inscription : 2009-07-14
Age : 42

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeSun Sep 25, 2011 7:33 am

Hello,

Désolé pour le retard dans la réponse, je rentre de vacances.

En tout cas c'est bien cool, ca a vraiment de la gueule.

Après au lancement j'ai des erreurs de chargement XML dans la console (5 fois) :
Code:
WARNING! QT XML VALIDATOR SCHEMA BROKEN, NO MANIFEST VALIDATION MADE.
Je ne sais pas si c'est bloquant.

Sinon j'ai un crash en fermant l'appli. (Icewhirl a cessé de fonctionner...)

Après niveau fonctionalités, il n'y a pas encore grand chose de porter donc j'ai pas pu tester en profondeur.

J'ai aussi remarqué un petit bug au niveau de la selection des emetteurs dans un group. Parfois, je n'arrive pas à cliquer sur les check box.
Sinon est ce que tu as redirigé les logs de spark quelque part ?

Pour le lien sur lequel on redirige ca a l'air de le faire que pour media fire. Ce n'est pas moi qui heberge le forum, c'est un hebergeur gratos donc ca doit être eux qui se font plaisir. Ca fait chier, je voudrais récupérer le forum chez moi mais faut que je trouve un moyen d'en aspirer le contenu.
Back to top Go down
http://spark.developpez.com
Darktib
Committer
Darktib


Messages : 389
Date d'inscription : 2009-07-20
Localisation : A coté de Paris

editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitimeSun Sep 25, 2011 5:29 pm

Merci du test !

Pour les warning XML, c'est pas bloquant, c'est des sécurités liées au système d'extension qui sont désactivées (à cause d'un bug dans Qt), c'est surtout pour m'en souvenir Wink

Pour le bug des checkbox, je le connais, il est sur ma todo-list : en fait, le premier élèment est dur à selectionner, tu peux par exemple créer deux éléments, selectionner le premier, puis supprimer l'autre...
Pour le crash, je vais voir de plus près.

J'ai pas encore redirigé les logs, je le fais de suite!
Back to top Go down
Sponsored content





editeur de système de particule de SPARK (topic de dev) - Page 3 Empty
PostSubject: Re: editeur de système de particule de SPARK (topic de dev)   editeur de système de particule de SPARK (topic de dev) - Page 3 Icon_minitime

Back to top Go down
 
editeur de système de particule de SPARK (topic de dev)
Back to top 
Page 3 of 3Go to page : Previous  1, 2, 3
 Similar topics
-
» [Résolu]Créer une sphere de particule
» Copie d'un système
» SPARK and C++
» SPARK 2 : description XML
» Compiling SPARK on Mac OS X

Permissions in this forum:You cannot reply to topics in this forum
 :: Forum Francais :: Evolution (fr)-
Jump to: