Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Anciens défis Discussion :

[bobti89] Participe aussi :) [Défi n°1]


Sujet :

Anciens défis

  1. #1
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut [bobti89] Participe aussi :)
    Bonsoir tout le monde.

    Comme je vais avoir pas mal de temps je participe à ce défi ! Je dois avouer que les lots alléchants vont probablement me motiver pour réaliser quelque chose de correct
    Je vais travailler seul sur ce projet.
    Je mettrai à jour ce post au fur et à mesure de mon avancement dans le projet, rajouterai probablement quelques détails et des screenshots quand il y en aura !

    Plateformes de développement
    • Windows Vista (Visual Studio 2008)
    • Ubuntu 9.10 (QtCreator) (virtualisé)
    (Q9550, 4 * 2.83 GHz)

    Avancement général
    [95 %]
    • [01/02/2010]
      Quasiment rien fait, j'ai juste testé le programme fourni et fais un essai avec des shaders.
    • [17/02/2010]
      Récodé entièrement la génération de fractales !
      Testé un peu plus les shaders
      Début d'implémentation du widget de visualisation d'image (zoom à la roulette + déplacement à la souris).
    • [20/02/2010]
      Ajout de la colorisation !
      Multithreading ! Pour l'instant il faut que les dimensions de l'image résultante soient un multiple du nombre de threads utilisés.
    • [27/02/2010]
      Le code est terminé, je n'ai pas vraiment eu le temps de mettre tout le développement en détail ici mais j'ai codé un éditeur de dégradés, ainsi qu'une belle interface graphique En tout cas assez bien pour 5 jours de codage
      Plus que quelques commentaires et retouches de propreté de code et j'envoie le bousin !


    Implémentation
    • Génération de fractale (et oui quand même^^)
      • Génération simple [100 %] ( programme fourni, + réimplémentation )
      • Colorisation [100 %] (gestion de palettes de couleurs (des dégradés) )
      • Multithread [100 %]
      • Shaders [90 %] (c'est intégré mais vraiment de mauvaise manière, probablement des choses à changer.
    • Widget visionneur d'image [100 %]
    • Widget gestion des palettes [100 % ]


    Images


    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 24 991
    Points : 176 979
    Points
    176 979
    Par défaut
    Il me semble que ça va être la première proposition à base de shaders : ça promet aussi d'être intéressant !

    Essaye de poster un message à la fin du topic pour chaque mise à jour, ça permet de se maintenir à jour sur ton projet (fortement déconseillé sur les autres forums).
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    24 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 24 616
    Points : 181 810
    Points
    181 810
    Billets dans le blog
    52
    Par défaut
    Bonne chance à toi.

    Des shaders, ça risque de donner un bon truc, niveau performance du moins ( niveau graphique aussi normalement ).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    décembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Normalement faut pas utiliser que les trucs intégrés à Qt ?

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    mars 2004
    Messages
    10 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2004
    Messages : 10 031
    Points : 13 919
    Points
    13 919
    Par défaut
    Citation Envoyé par Shooter74 Voir le message
    Normalement faut pas utiliser que les trucs intégrés à Qt ?
    sisi, mais les shader sont dans Qt 4.6
    http://qt.developpez.com/doc/latest/qglshader.html

  6. #6
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    Bon je m'y suis enfin mis

    • J'ai recodé ce weekend entièrement la génération de fractales et ca fonctionne enfin !
    • J'ai touché un peu plus aux shaders. C'est bien, c'est rapide mais ca a quelques défauts :
      • Impossible de trouver la valeur max, donc la couleur est calculée entre 0 et le max d'une séquence et pas la valeur maximum réelle trouvée. Mais bon ca reste tout à fait correct comme résultat
      • Je n'ai pas trouvé comment accélérer une fractale avec une génération aléatoire de points (donc le buddhabrot...)
    • J'ai fait hier une grande partie de ce que je voulais faire pour mon visionneur d'image (zoom à la roulette, déplacement à la souris)
    • Je me suis amusé avec le designer mais pour l'instant rien n'est codé^^


    Rapidement 2 images :

    Générée avec un shader (temps réel) :


    L'application (le visionneur d'image fonctionne à peu près mais les icônes sont inutiles pour l'instant^^) (environ 10 secondes de génération) :


    Bon demain je commence la coloration puis en route vers le multithread !
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  7. #7
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    J'ai avancé sur la coloration
    Les premiers résultats sont sympas :


    Par contre si le mets des couleurs éloignées dans les valeurs basse, on voit clairement l'apparition de cercles. Est-ce normal ou j'ai fait une erreur ?
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  8. #8
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    Ca y est j'ai du multithread
    Sur mon processeur (4 coeurs) ca divise par 3 environ le temps de génération.
    Au début je voulais utiliser les QtConcurrent mais c'est assez lent, d'autres personnes ont essayé ?
    Je suis revenu à l'ancienne méthode, je construit et détruit entièrement tous les threads, et j'ai de meilleurs résultats !

    Une petite image pour la route (1 milliard de points générés et une séquence max de 150) (3 minutes 30 s de génération):
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    mars 2004
    Messages
    10 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2004
    Messages : 10 031
    Points : 13 919
    Points
    13 919
    Par défaut
    Citation Envoyé par bobti89 Voir le message
    Ca y est j'ai du multithread
    Sur mon processeur (4 coeurs) ca divise par 3 environ le temps de génération.
    Au début je voulais utiliser les QtConcurrent mais c'est assez lent, d'autres personnes ont essayé ?
    Je suis revenu à l'ancienne méthode, je construit et détruit entièrement tous les threads, et j'ai de meilleurs résultats !
    tous dépend comment tu as utilisé les concurrent
    il devrais être au moins aussi rapide que la gestion des thread à la main.
    C'est peut être un problème de copie inutile?


    ca avance bien

  10. #10
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    Effectivement j'ai changé beaucoup de chose depuis, donc c'est fortement possible que ce soit moi qui ai fait une erreur. Je dirais seulement que quand je suis passé à des QThreads j'ai divisé par 4 le temps. QtConcurrent était même plus lent qu'avec un seul thread !
    Mais bon la création de QThreads est en fait très rapide donc je pense garder cette technique

    Maintenant il faut que je réfléchisse à comment générer des points afin qu'ils donnent plus d'information, à ta meilleure méthode quoi^^. Un indice c'est possible ?
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  11. #11
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    mars 2004
    Messages
    10 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2004
    Messages : 10 031
    Points : 13 919
    Points
    13 919
    Par défaut
    Citation Envoyé par bobti89 Voir le message
    Maintenant il faut que je réfléchisse à comment générer des points afin qu'ils donnent plus d'information, à ta meilleure méthode quoi^^. Un indice c'est possible ?
    ben relie bien ta phrase tous est dedans

  12. #12
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    J'ai finis mon développement ,enfin ce que je m'étais fixé !

    Ça sera vraiment très simple mais j'obtiens quelque chose de fonctionnel et c'est le plus important, surtout avec le temps de codage Pour 2 semaines de travail c'est correct je pense !

    J'ai fait quelques essais avec une autre génération de points aléatoires sans grand succès. Tant pis, ca sera pour après

    Seule les fractales Mandelbrot et Buddhabrot sont codées mais rajouter d'autres fractales ne sera pas long !

    Un petit buddha jaune en HD ici

    Et voilà l'interface graphique de mon logiciel :


    Demain je mets quelques commentaires en plus (tendance à en mettre trop peu) et j'envoie tout ca
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  13. #13
    Membre habitué
    Avatar de bobti89
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 86
    Points : 150
    Points
    150
    Par défaut
    Projet envoyé, merci de me confirmer la bonne réception
    bob ou bob, vous ne voyez pas la différence. Pourtant il y en a une fondamentale, l'un est écrit à l'endroit, l'autre à l'envers.

  14. #14
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 24 991
    Points : 176 979
    Points
    176 979
    Par défaut
    Archive reçue 5/5 !
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Défi n°1] [yan] non, non, je ne participe pas, mais je veux m'amuser aussi
    Par yan dans le forum Anciens défis
    Réponses: 55
    Dernier message: 01/03/2010, 23h50
  2. Réponses: 19
    Dernier message: 07/11/2003, 09h10
  3. Réponses: 3
    Dernier message: 16/06/2003, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo