Projet d'économiseur d'écran

145791025

Réponses

  • GenoseGenose Membre
    23:21 modifié #182
    salut,


    attender, un resumer des 13 pages svp, j'ai un peu de mal à  ous suivre là , qu'es ce qui est fait pour le moment ?


    vous travaillez avec des photos ou alors vous avez deja un programme ?

    merci.
  • Vinc26Vinc26 Membre
    23:21 modifié #183
    Ok, c'est une bonne idée : je vais faire le point.

    - La première étape a été de chercher à  récupérer le contenu de chaque fenêtre. Après pleins de recherches infructueuses, une seule solution est apparaue : on sait maintenant récupérer le contenu de toutes les fenêtres des applications COCOA.
    - On rajoute a ça que l'on sait récupérer le contenu de l'écran comme on le fait avec MAJ+POMME+3
    - On sais retrouver l'image de fond du bureau

    On peut donc en toute logique obtenir un truc comme ça : http://vincent.zorzi.free.fr/forums/EcoEcran_v3.mov . Notez que le fondu du départ permet de masquer en douceur le fait que certaines fenêtre (les non-COCOA) ne peuvent être récupérées.

    C'est Supermic qui a trouvé cette méthode de récupération de fenêtre COCOA. Grand merci à  lui. Il nous a même concocté une archive avec tout ce qu'il faut : http://www.mparrot.net/downloads/VincScreenSaverIM.zip Mais aucun de nous ne savons comment l'utiliser.

    Ensuite, ou plutôt en paralelle, nous nous sommes mis à  travailler sur la partie 3D, avec QuartzComposer. Quand je dis nous, c'est essentiellement Boris Cargo, Gnomezero, et moi-même. Et la toute dernière version est attachée en pièce jointe (eco12v2.zip). Cette version n'utilise que des photos. Elle ne sais pas importer les vraies fenêtres.

    Les prochaines étapes :
    - Améliorer le mouvement des fenêtres volantes (avec ajout de rotation ?...) BorisCargos et Gnomzero s'en chargent.
    - Organiser le projet QC pour avoir jusqu'à  dix fenêtres volantes simultanément (pour les grosses configs) BorisCargos et Gnomzero s'en chargent... avec peut-être mon aide si j'y comprend quelque chose (j'apprends... j'apprends...)
    - Programmer le player, c'est à  dire l'économiseur d'écran proprement dit, en s'appuyant sur la méthode de Supermic. Ce player récupérera les fenêtres, et enverra coordonnées, contenus, et ordre, au module QuartzComposer. C'est pour la programmation de ce player que nous cherchons encore de l'aide ! Notez une très bonne nouvelle : Supermic devrait pouvoir nous rejoindre dès qu'il aura terminer un gros boulot... dans une quainzaine de jours.

    Et comme on dit : plus on est, plus on rit !



    [Fichier joint supprimé par l'administrateur]
  • Vinc26Vinc26 Membre
    23:21 modifié #184
    A propos de eco12v2 ci-dessus : je me suis appuyé sur la version eco12 de BorisCargo de ce matin.

    Ce qui a changé :
    - J'ai réalisé une macro "Aller Retour progressif" qui fonctionne de la manière suivante :
      - on rentre 0 (false) (touche espace relachée) : tout est au premier plan, et la capture générale est affichée à  100%
      - on rentre 1 (true) (touche espace appuyée) : l'alpha de la capture générale passe de 100% à  0% en 1 seconde, puis les fenêtres partent en position reculée en 8 secondes ; et volent ainsi indéfiniement.
      - on repasse à  0 (flase) (touche espace relachée) : les fenêtres reviennent au premier plan en 1/2 seconde, et la capture générale repasse à  100% en 1/4 de seconde. (Là , l'économiseur d'écran sera censé quitter.)

    Note : par défaut, cette macro est donc commandée par la touche espace. Mais dans le root de la composition, il est très simple de relier à  la place l'input "On Off - par Pomme+T". Alors, sur le panneau de controle affichable avec pomme+T, la case a cocher "On Off" devient effective et remplace la touche espace.

    Une proposition pour l'amélioration du look des reflets : en toute logique, plus les fenêtres sont haute, plus leurs reflets respectifs devraient être transparent. Ca va dans la logique de la transparence en dégradé que BorisCargo a appliqué aux reflets.

    Voilà  ! Dodo !!!  ;)
  • GenoseGenose Membre
    23:21 modifié #185
    bon, je comprend mieux ce roman maintenant.

    par contre tu dit que 'on peut reucperer les fenetres de toutes les applications,  en faisant des switchs vers chaque application peut etre ?
    mais je ne vois que cette ligne là  :
    NSArray *allWins=[NSApp windows];


    elle récupere les fenetres de l'appli ACTIVE.


    donc pour les appels ce n'est pas terrible, je vois un  G5 à  l'horizon , alors que désolé,

    j'ai trouver une doc sur le window server pour acceder à  une zone mémoire privé et qui par le bias de 10 lignes de code, environ, "devrait" donner naissance au produit, l'essence même de ce projet, les fenêtres et icones sur l'ecran, bref le tout et pas le huitiéme de l'écran.

    et llà  un g3 fera l'affaire et peut etre juste 10.2 et quartz


    par contre je vois un détail qui m'intrigue, mais je vais bricoler à  çà  et je verais bien.



    @+
  • Vinc26Vinc26 Membre
    novembre 2005 modifié #186
    Oulla ! Je comprends pas tout là  ! Tu veux dire qu'une méthode documentée permet de récupérer tout ce qui est à  l'écran ? Même les parties cachées par d'autres éléments ?

    Moi, en clair, je veux bien que toutes les fenêtres se mettent à  voler etc... Que les icones volent... c'est autre chose là ... ça risque d'être un peu fouilli !

    Et un truc m'échappe : comment se fait-il que faire voler 5 fenêtres comme nous le faisons actuellement sous QC suppose un gros G5, alors que ta méthode faisant voler toutes les fenêtres serait suffisement légère pour fonctionner sur un G3 ?

    Là , en clair, tu pars sur une piste hyper interessante ; mais nous avons besoin que tu sois bien plus clair. Parce qu'en un an personne ne trouvait de methode pour tout récupérer.

    Enfin, ce qui me rassure, c'est que quelque soit la methode de récupération de fenêtre, nous devrons de toutes façons passer par une mise en forme 3D. Donc le travail actuel sous QuartzComposeur a tout sont sens. (là  où Quartz ne bosse qu'en 2D : exposé, minimastion vers le dock etc...). Non ?

    PS : pour la récupération des fenêtres via la methode de Supermic, t'as essayé ce qui est dit page 7 ? Ca marche impec : ça récupère TOUTES les fenêtres d'appli COCOA présentent à  l'écran. Quand au code dont tu parles... pose-lui la question directement en MP. Enfin... moi j'y panne que dalle !
  • gnomezerognomezero Membre
    novembre 2005 modifié #187
    dans 1132444934:

    Il faut que tu te serve de l'alpha pour faire ça. PLus exactement que tu crees un alpha pour ton image source. Par contre il va falloir que tu appliques une image sur tous les cotés du cube pour qu'il parte en transparence.

    Pour l'alpha regarde le fichier joint...tu peux t'en servir comme "boite noire", tu entre une image elle resort avec une transparence.


    Ouch...j'ai pas tout pigé à  cette fameuse "boite noire"...ca fonctionne mais j'ai pas tout pigé et particluièrement la macro "trasparent degradé" (la-dite boite noire). Ya pas moyen de faire plus simple? si c'est pas possible c'est pas grave.

    Edit: j'ai pigé l'esesntiel enfin . Juste un ptit troll: QZ c'est vraiment puissant et simplissime quand on s'en donne la peine!! (fin du troll)
  • Vinc26Vinc26 Membre
    23:21 modifié #188
    Une idée qui me vient :

    Serait-il possible de faire que tout se qui commande le mouvement des fenêtres soit sous forme d'une macro ? De manière a ce que dans de futurs versions, on puisse ajouter d'autre modèles de mouvement, justement sous forme d'une marco. La macro qui s'exécutera serait déterminée par un choix utilisateur dans les préférences de l'économiseur.
    Une idée de macro que l'on pourrait rajouter ultérieurement : "rebond" où les fenêtres rebondiraient au sol ! Mais pour une version 2 biensur

    Ou autre solution : que l'utilisateur ai des cases à  cocher et des sliders du genre "rapidité de mouvenement", "rotation", et le fameux "nombre de fenêtre maxi à  faire voler"... et plus tard une case "rebond"

    Bien sur, l'idée, c'est que ça reste HYPER simple pour l'utilisateur... dans l'idée de ce que pond Apple habituellement.

    Si j'en parle dès maintenant, c'est pour que l'on prévoit directement dans la macro les inputs nessecaires à  ça.
  • boris cargoboris cargo Membre
    23:21 modifié #189

    >(A ce propos, pourrais-tu nous expliquer ta méthode pour qu'en un seul iterator, tu ais plusieurs mouvement séparé dedans ?...)
    heu en fait je sais pas encore...::) mais ça va venir.

    > Je leur ajouterai d'ailleur un mouvement de rotation lent comme dans mes ajout de la version eco5v3. Mais chaque sa propre vitesse de rotation (avec une valeur aléatoire ?)
    je viens d'essayer, ça pose des problèmes avec les reflets, a voir.

    >- Il me semble que le reflet du fond ne réagit pas pareil que ceux des fenetres : voir la pièce jointe : le reflet du fond va du 100% au 0% alors que les autres vont du 80% (a vue d'oeil) au 0%.
    corrigé

    - Pour le luma ou l'alpha, mon avis penche toujours pour le luma. Reste à  déterminer le range. Le luma fait plus réaliste selon moi. L'apha rend la lisibilité de l'écran moins évidente... Vous préférez quoi vous ?
    va pour la luma.

    >- Comment as-tu prévu le cas d'une fenêtre qui dépasserai de l'écran par le bas ?
    ça posait des prb avec les reflets, masi j'ai corrigé ça. Les reflets apparaissent petit à  petit.

    >Enfin, le projet de boite de gnomezero est-il incluable dans le projet de boris ? Parce que les boite, ça a de la gueulle. Mais j'y pense aussi ne risque-t-on pas de beaucoup perdre en performance sur des petites config avec des boites ?
    j'ai fait un essais pas de prb, je crois pas qu'on perdre tellement en performances. En fait ce qui plombe pas mal c'est la taille des images. Jai mis un éclairage aussi, ce qui donne des fenetres qui chage de luminosité.

    >Une proposition pour l'amélioration du look des reflets : en toute logique, plus les fenêtres sont haute, plus leurs reflets respectifs devraient être transparent. Ca va dans la logique de la transparence en dégradé que BorisCargo a appliqué aux reflets.
    c'est fait.

    >Serait-il possible de faire que tout se qui commande le mouvement des fenêtres soit sous forme d'une macro ? De manière a ce que dans de futurs versions, on puisse ajouter d'autre modèles de mouvement, justement sous forme d'une marco. La macro qui s'exécutera serait déterminée par un choix utilisateur dans les préférences de l'économiseur.
    c'est ce qu'il faut faire, le maximum de boites pour simplifier la vue graphique et aussi pour interchanger facilement les objets. Ca serait pas mal d'avoir plussieurs anim...

    gnomezero:
    l'image est compositée avec une image noire (alpha 0) suivant un mask dégradé noir/blanc. Le constant coor qui rentre dans le crop donne une image de même taille que celle d'entrée, le gradient rentre dans un affine transform pour avoir cette même taille. Les autres noeuds sont là  pour calculer de combien on coupe ou agrandit. Et oui il faut tout ça  :( j'ai pas trouvé plus simple. Mais bon une fois dans un macro avec une entrée une sortie...

    [Fichier joint supprimé par l'administrateur]
  • Vinc26Vinc26 Membre
    novembre 2005 modifié #190
    :o

    Ben dit ! C'est de mieux en mieux ! Surtout ne t'arrête pas !!!

    Deux trois remarques :
    - Y'a un "reflet fantome" en tout début d'animation (voir copie d'écran jointe)
    - La boite marche super bien : on se sent encore plus dans un univers 3D. Mais j'ai un doute une fois appliqué aux fenêtres : ça risque de complexifier l'allure et ca va poser un probleme pour les deux angles arrondis en haut des fenêtres. Non ?
    - Pour la lumière : toute la question va être de savoir où les placer pour que ça reste naturel. Et là , il me semble que le mieux serait qu'elle vienne du spectateur lui-même : les fenêtres vont au fond de l'écran, et donc en toute logique, la lumière vient là  d'où nous regardons la scène. Non ? Faux voir... En tous cas, là  aussi, ça donne un excellent réalisme. reste juste à  doser ça discretement pour ne pas le voir. Juste sentir que ça a l'air vrai. (En video, mon metier, un effet ou un montage qui se voit est un effet ou un montage raté)
    - Pour les rotations qui posent probleme avec les reflets : je vois : suivant l'axe de rotation, ça inverse la zone de transparence des reflets, qui se retrouve illogiquement en haut. En attendant de trouver une solution, on peut déjà  se servir de la rotation autour de l'axe vertical ?
    - Mais reste évidement la fameuse question de comment obtenir des mouvements séparés... Je te laisse voir. C'est un peu trop complexe pour moi là .
    - Excelent pour le reflet qui disparait plus la fenêtre est haute. Et en plus, tu l'as parfaitement bien régler. Bravo !

    Bon... Je voudrais aussi vous dire merci, parce que c'est génial de voir prendre forme cette simple idée d'il y a un an. Continuons ! Ca vous dit ? Bientôt un module player de tout ça qui rappatriera les vraies fenêtres, et hop un économiseur magique ! Plus ça va, plus j'y crois !!!

    [Fichier joint supprimé par l'administrateur]
  • MoitahMoitah Membre
    23:21 modifié #191
    Je pense qu'il vaut mieux faire disparaitre le fond d'écran en fondu plutôt que de le faire bouger en 3D lui aussi.
  • Vinc26Vinc26 Membre
    23:21 modifié #192
    Oui, sauf que si aucune fenêtre n'est ouverte, on se retrouve avec un écran tout noir. Enfin, c'est mon point de vue. Pourquoi ? t'aime pas que le fond vole aussi ???
  • boris cargoboris cargo Membre
    23:21 modifié #193
    dans 1132619210:

    - Y'a un "reflet fantome" en tout début d'animation (voir copie d'écran jointe)


    bah, bizarre ça, je croyait avoir résolut ça en faisait apparaitre les reflets au fur et a mesure de l'éloignement.

    dans 1132619210:

    - La boite marche super bien : on se sent encore plus dans un univers 3D. Mais j'ai un doute une fois appliqué aux fenêtres : ça risque de complexifier l'allure et ca va poser un probleme pour les deux angles arrondis en haut des fenêtres. Non ?


    effectivement ça pose un problème pour les angles arrondis, il est possible de garder des plaques qui tournent (avec les angles corrects) mais avec en plus les lumieres dessus.

    dans 1132619210:

    - Pour la lumière : toute la question va être de savoir où les placer pour que ça reste naturel. Et là , il me semble que le mieux serait qu'elle vienne du spectateur lui-même : les fenêtres vont au fond de l'écran, et donc en toute logique, la lumière vient là  d'où nous regardons la scène. Non ? Faux voir... En tous cas, là  aussi, ça donne un excellent réalisme. reste juste à  doser ça discretement pour ne pas le voir. Juste sentir que ça a l'air vrai. (En video, mon metier, un effet ou un montage qui se voit est un effet ou un montage raté.


    la c'était un positionnement rapide des lumieres mais on peut les placer ou on veut, les colorer ou non, et surtout faire varier tout ça dans le temps. C'est a dire pas de lumieres au debut de l'anim et progressivement c'est un éclairage artificiel qui vient ce mettre en route. Un peu comme si on venait l'éclairer avec des spots. Enfin on peut pas utiliser des spots, jsute des lumieres ponctuelles.

    dans 1132619210:

    Continuons ! Ca vous dit ? Bientôt un module player de tout ça qui rappatriera les vraies fenêtres, et hop un économiseur magique ! Plus ça va, plus j'y crois !!!


    ouais on devrait arriver au bout...
  • gnomezerognomezero Membre
    23:21 modifié #194
    ouaou...juste encore un troll...Boris tu travaille à  la NASA? car j'ai bien observé ton dernier jet... :o ca part dans tout les sens...le pire c'est que, j'en suis sûre, tout ceci à  un sens. Mais c'est vraiment impresionnant.
  • Vinc26Vinc26 Membre
    novembre 2005 modifié #195
    dans 1132649411:

    bah, bizarre ça, je croyait avoir résolut ça en faisait apparaitre les reflets au fur et a mesure de l'éloignement.

    Ca vient peut-être du fait que j'ai un écran différent ?
    dans 1132649411:

    effectivement ça pose un problème pour les angles arrondis, il est possible de garder des plaques qui tournent (avec les angles corrects) mais avec en plus les lumieres dessus.

    Ok, ça me va ! J'ajouterai que les lumières devraient pouvoir être désactivées via une case dans les prefs.
    dans 1132649411:

    la c'était un positionnement rapide des lumieres mais on peut les placer ou on veut, les colorer ou non, et surtout faire varier tout ça dans le temps. C'est a dire pas de lumieres au debut de l'anim et progressivement c'est un éclairage artificiel qui vient ce mettre en route. Un peu comme si on venait l'éclairer avec des spots. Enfin on peut pas utiliser des spots, jsute des lumieres ponctuelles.

    Je verrai bien une lumière diffuse qui vienne discretement de l'avant, juste pour donner du réalisme, sans voir l'effet.
    Mais il pourrait être très sympa aussi d'ajouter un thème "boite de nuit" ! Une option a cocher.


    Sinon, c'est vrai que ça part dans tout les sens ! Et d'ailleur, je suis certain que c'est exprès pour nous empêcher d'y comprendre quelque chose !!! Non... je rigole évidement ! Et j'ai confiance, vraiment.
    ;)
  • Vinc26Vinc26 Membre
    23:21 modifié #196
    Genose : Nous oublie pas : si t'as des avancées, même minimes, parles-en nous ! Histoire de toujours faire avancer le projet dans la bonne direction, et ne pas avoir à  redévelopper des choses qui ne collent pas. Alors ? Y'a vraiment un moyen de chopper le contenu de TOUTES les fenêtres ??? Et si ça prends aussi les icones, comment faire le tri ?
  • gnomezerognomezero Membre
    23:21 modifié #197
    j'ai juste une petite remarque tant que j'y pense:
    Au lieu de faire des mouvements cycliques (c'est ce que j'ai retenu des précédents posts peut-être je me trompe) ne serait-il pas plus judicieux de choisir des coordonées à  "Random" (à  la fois sur X, Y et Z) puis de faire aller la fenêtre d'ou elle se trouve jusquà  cette nouvelle 'destination'? j'ai dit une connerie?
  • gnomezerognomezero Membre
    23:21 modifié #198
    juste pour essayer j'ai fait un tout petit truc...
    Le 'seul' problème et Boris auras certainement une solution, c'est jouer sur la vitesse. Je ne sait point comment faire. rajouter un "conditionnal" ? un timer? un math? un soupe de tout ça?

    [Fichier joint supprimé par l'administrateur]
  • boris cargoboris cargo Membre
    23:21 modifié #199
    >ouaou...juste encore un troll...Boris tu travaille à  la NASA? car j'ai bien observé ton dernier
    >jet...  ca part dans tout les sens...le pire c'est que, j'en suis sûre, tout ceci à  un sens. Mais
    >c'est vraiment impresionnant.

    ben en fait les system de noeuds c'est simple de faire qque chose qui serait compliqué avec autre chose, mais pour faire qque chose de simple c'est parfois compliqué. En tout cas c'est pas facile à  relire et savoir ce que ça fait exactement. J'aurais bien aimé la NASA mais je suis juste dans l'image de synthese  ???

    >Le 'seul' problème et Boris auras certainement une solution, c'est jouer sur la vitesse. Je ne >sait point comment faire. rajouter un "conditionnal" ? un timer? un math? un soupe de tout ça?

    heu pour faire quoi? j'ai pas compris. il faut jouer sur la period du LFO gauche-droite-gauche. NON?

    j'ai une derniere version nettoyée, pas grand chose de change en apparence. Mais maintenant le mouvement est dans une macro (donc changeable), les fenetres profitent toutes des lumieres  en 3D, les reflets sont OK.
    L'anim est bien sur pas très fonctionnelle, c'est un peu brouillon ces fenetres qui tourne dans tous les sens. Il faut aussi qu'elles soit + ou - proche de l'écran. Enfin il reste du boulot...



    [Fichier joint supprimé par l'administrateur]
  • Vinc26Vinc26 Membre
    novembre 2005 modifié #200
    Tu dis que peu de choses ont changées ??? Tu rigoles j'espère ! L'animation est bien plus intéressante ! Bonn  alors comme d'hab, deux trois choses idées impressions :

    - Moi j'aime bien le coté fouilli des mouvements : ça fait plus aléatoire qu'avant et c'est là  que je vois une avancée ENORME !

    - Pourquoi ne mets-tu pas le le fond dans l'iterator des fenêtres ? Là  j'avoue ne pas comprendre la séparation que tu lui imposes.

    - A propos de la lumière : Ben en clair, je suis partagé : d'un coté, ça donne plus de réalisme, plus de crédibilité à  la scène, mais d'un autre, elle se voit beaucoup trop au niveau des reflets, et un peu trop au niveau des fenêtres. Sur le fond, elles se voient trop également (trop ponctuelles). Alors oui, j'aimerai qu'on les garde, mais est-il possible de les adoucir (moins ponctuelles) ? De ne pas dutout les appliquer aux reflets ? et aussi de faire que tant que les fenêtres sont au premier plan, elles soient uniformément éclairées comme en pleine utilisation du mac, de manière a ce que la transition ecran/economiseur ne se voit pas ?

    - Mauvaise nouvelle : chez moi, le probleme de reflet est toujours là  : exactement le même que la dernière fois : il apparait au tout début du mouvement de recul des fenêtres. Je pense que tu ne le vois pas parce que ton écran est plus grand et donc que la fenêtre du site d'apple est moin hors écran. Alors la bonne nouvelle, c'est que j'ai trouvé une rapide solution pansement : d'abord calculer les reflets puis les fenêtres (inverser leurs Layer dans leur iterator) : le probleme est alors presque masqué... et comme c'est un cas rare, on pourrait peut-être s'en contenter. Non ? (note qu'il faut vraiment que les lumières n'interviennent que lorsque les fenêtres ont déjà  bien reculées sinon, le probleme des reflets de fenêtre hors écran apparait fortement (lumières réglée dans l'axe camera à  la position 0.5 0.5 10 / ou sinon, vraiement ne pas appliquer de lumière aux reflet.)

    - A propos du Range : je sais, c'est un peu exagéré... mais perso, j'aime bien quand les fenêtres en train de voler sont bien visible ; je le regle donc vers -0,25... et vous ?

    - Enfin, j'en reviens aux mouvements : nous disions il y a peu de temps que les fenêtres ne pouvaient pas faire une rotation complète autour de l'axe horizontal a cause du reflet qui se verrai avec sont dégradé transparent inversé ! Alors arrête-moi si je dit une bétise mais j'imagine une solutions à  ça : ajouter une input (0 ou 1) dans la macro "Vertical transparancy" qui détermine dans quel sens doit être le dégrader transparent. Cette input serait commandée par un output supplémentaire de la macro de rotation autour de l'axe horizontale. Ainsi, au dela ou en dessa d'une certaine valeur de rotation, l'output passe à  un et fait donc s'inverser le dégrader. A toi de voir ;) Mais dans l'idée, ça marche ou non ? Parce que je trouve que ça aurait encore plus d'allure si les rotations pouvait se faire completement !

    Voilà . Désolé... encore un roman de plus... en espérant que ça t'aide plus que ça ne t'embrouille !

    PS : vous avez pas un compte iChat qu'on puisse échanger en direct de temps en temps ?
  • gnomezerognomezero Membre
    23:21 modifié #201
    pour ichat, j'hésite, il faut bien un compte .mac pour en profiter non?
  • Vinc26Vinc26 Membre
    23:21 modifié #202
    Non, c'est soit via .Mac, soit via AIM. Via AIM, c'est gratuit : http://aim.aol.fr/ Si t'as d'autres questions liées à  ça, continuons via messages privés pour ne pas charger cette discussion déjà  bien... longue !
  • boris cargoboris cargo Membre
    23:21 modifié #203
    dans 1132738567:

    - Pourquoi ne mets-tu pas le le fond dans l'iterator des fenêtres ? Là  j'avoue ne pas comprendre la séparation que tu lui imposes.


    l'iterator ce comporte comme un for...next en programmation, c'estune boucle, il va te faire ce qu'il y a dedans autant de fois que tu lui demande. Ici je demande d'afficher un sprite et un deuxieme sprite qui simule le reflet. Et ca de le faire 3 fois, je me retrouve avec les 3 fenetres et 3 reflets. Si je met le fond dedans j'aurais 3 fois le fond. Par contre je pourrais je vais le faire même)  mettre le fond dans le lightning juste avant l'iterator pour profiter d'un éclairage commun.

    dans 1132738567:

    Alors oui, j'aimerai qu'on les garde, mais est-il possible de les adoucir (moins ponctuelles) ? De ne pas dutout les appliquer aux reflets ? et aussi de faire que tant que les fenêtres sont au premier plan, elles soient uniformément éclairées comme en pleine utilisation du mac, de manière a ce que la transition ecran/economiseur ne se voit pas ?


    hélas non on peu rien faire de tout ça, juste faire en sorte qu'au départ le fenetres soit uniformément éclairées. Peut-etre que c'est pas la peine de mettre de lumieres...

    dans 1132738567:

    - Enfin, j'en reviens aux mouvements : nous disions il y a peu de temps que les fenêtres ne pouvaient pas faire une rotation complète autour de l'axe horizontal a cause du reflet qui se verrai avec sont dégradé transparent inversé ! Alors arrête-moi si je dit une bétise mais j'imagine une solutions à  ça : ajouter une input (0 ou 1) dans la macro "Vertical transparancy" qui détermine dans quel sens doit être le dégrader transparent. Cette input serait commandée par un output supplémentaire de la macro de rotation autour de l'axe horizontale. Ainsi, au dela ou en dessa d'une certaine valeur de rotation, l'output passe à  un et fait donc s'inverser le dégrader. A toi de voir ;) Mais dans l'idée, ça marche ou non ? Parce que je trouve que ça aurait encore plus d'allure si les rotations pouvait se faire completement !


    normalement oui, mais si je met le calcul du dégradé transparent dans l'itérator ça ralenti beaucoup les perfs. C'est pour ça que je les ai mis au premier niveau, ils sont calculés une fois pour toute.

    Ce soir comme nouvelle version, les fenetres volent aussi en profondeur, il est possible de dire de combien elles tourne sur l'axe X, et deux trois bricoles.

    Voilà , bonne nuit, j'ai les yeux qui piquent.  ;)

    ps:faut que je retrouve mon compte Ichat.

    [Fichier joint supprimé par l'administrateur]
  • Vinc26Vinc26 Membre
    23:21 modifié #204
    dans 1132783630:

    dans 1132738567:

    - Pourquoi ne mets-tu pas le le fond dans l'iterator des fenêtres ? Là  j'avoue ne pas comprendre la séparation que tu lui imposes.


    l'iterator ce comporte comme un for...next en programmation, c'estune boucle, il va te faire ce qu'il y a dedans autant de fois que tu lui demande. Ici je demande d'afficher un sprite et un deuxieme sprite qui simule le reflet. Et ca de le faire 3 fois, je me retrouve avec les 3 fenetres et 3 reflets. Si je met le fond dedans j'aurais 3 fois le fond. Par contre je pourrais je vais le faire même)  mettre le fond dans le lightning juste avant l'iterator pour profiter d'un éclairage commun.

    Il me semble bien comprendre ce que tu me dis. Alors je ne pense donc pas m'être bien expliqué : pourquoi ne traites-tu pas le fond comme n'importe quelle fenêtre ? tu supprimes completement tout le traitement du fond, et tu rajoute dans l'iterator de calcul des fenêtre une 4eme fenêtre... qui est en fait l'image du fond. Tu vois ce que je veux dire ? après tout, fenêtre ou fond... c'est que des images qu'on balade dans l'espace ! non ?

    dans 1132783630:

    hélas non on peu rien faire de tout ça, juste faire en sorte qu'au départ le fenetres soit uniformément éclairées. Peut-etre que c'est pas la peine de mettre de lumieres...

    Si si !!! Gardons-les : apparement, dans cette version 17, tu as effectivement fais qu'elles soient uniformement éclairées au départ ; et la lumière me semble plus discrete par la suite : Ca marche impeccable. Et en plus melé avec les rotations, ça donne que quand les fenêtres sont vues à  raz, elles sont très peu éclairées et donc très sombre : j'aime beaucoup ; très réaliste ! On garde !!! J'ai juste passé de bleu à  gris pour la lumière 2. Je pense qu'il vaut mieu rester neutre pour cette version de base. On verra pour le mode boite de nuit !

    dans 1132783630:



    dans 1132738567:

    ajouter une input (0 ou 1) dans la macro "Vertical transparancy" qui détermine dans quel sens doit être le dégrader transparent. Cette input serait commandée par un output supplémentaire de la macro de rotation autour de l'axe horizontale.

    normalement oui, mais si je met le calcul du dégradé transparent dans l'itérator ça ralenti beaucoup les perfs. C'est pour ça que je les ai mis au premier niveau, ils sont calculés une fois pour toute.

    Bon, je suis allé voir... et je vois que j'avais dit une connerie : on ne peut pas faire revenir une variable (un output) plus haut dans la hiérarchie quand on est dans des iterators... Ce qui impliquerai effectivement que les calculs de dégradé transparant soient calculés dans l'iterator. Alors si tu dis que ça ralantirai tout, je veux bien te croire.

    Alors j'ai eu une idée : je vous laisse voir la pièce jointe. C'est pas fini mais ça laisse bien voir ce que ça donne...

    dans 1132783630:

    Ce soir comme nouvelle version, les fenetres volent aussi en profondeur, il est possible de dire de combien elles tourne sur l'axe X, et deux trois bricoles.

    ps:faut que je retrouve mon compte Ichat.


    Ah !!!!!!!!! C'est ENORME ! Voilà  ce que j'en pense ! J'adore ! Les rotations donnent VRAIMENT !!!

    - J'ai essayé avec un angle maxi de 2000° : trop drole... mais bien trop bien sur... En fait je trouve justement que 180 est très bien parce que ce bouge bien, mais pas trop vite.
    - Pour les variations de position en profondeur : pareil : GEANT. Pour améliorer le truc, j'aurai permis a toutes ces fenêtres d'aller une peu plus au fond... un peu plus loin... donc un peu plus petite. Maintenant, je me doute qu'il ne faut pas exagérer le truc puisqu'elles sont toujours rendues dans le même ordre, et qu'une fenêtre toute petite, et donc en théorie derrière toutes les autres, serait toujours devant celles rendues avant elle.

    Alors j'ai une petite idée : voir en pièce jointe le plan vue de dessus.

    Oui, ce serai cool que tu retrouves ton login iChat (ou t'en refaire un autre...). Ce soir, on pourrait enfin papoter en direct sur le projet !

    Bonne journée  <3 <br />
    [Fichier joint supprimé par l'administrateur]
  • Vinc26Vinc26 Membre
    23:21 modifié #205
    Bon, ce soir j'ai voulu faire un test grandeur nature. J'ai donc pris la version 17v2, et je lui ai rajouté 2 fenêtres en plus. On a donc un fond et 5 fenêtres... L'idée est de voir combien on obtient de FPS dans des conditions réelles. Vous trouverez donc ce projet "eco17v3" en pièce jointe. (cette version se pilote avec Pomme+T et On-Off)

    A vous de dire combien de FPS chez vous, notant bien sur quelle machine. Chez moi :
    - AluBook 1.67GHz, 1.5Go de RAM, Radeon Mobility 9700 (128Mo) : 30FPS en 1280x854
    - MacMini 1.25GHz, 1Go de RAM, Radeon 9200 (32Mo) : 9FPS en 1280x1024


    D'autre part, je trouvais que depuis que la rotation autour de l'axe horizontal existe, avec un max rot à  180°, les fenêtres avaient quand même une facheuse tendance à  avoir la tête en bas. J'ai donc tenté, dans cette version 17v3 de soustraire le max rot à  la valeur de rotation (dans la macro "X rotation" de la macro "Animation"). voir la capture en pièce jointe.


    Et enfin, dans cette version grandeur nature, bizarement, on retrouve le probleme des reflets interceptés par leurs propres fenêtres ! Même pour des fenêtres qui ne sortent pas de l'écran ! Soit j'ai fait une connerie (mais franchement je vois pas comment...) soit... je sais pas. T'en dis quoi ?


    Mais pour finir... ça a une scrée allure ! Surtout vu de mon écran avec mes propres captures ! C'est magnifique ! J'ai juste un peu peur sur des machines un peu molles... peut-être qu'il faudrai désactiver les reflets sur ces machines là  ?...

    A très bientôt !

    [Fichier joint supprimé par l'administrateur]
  • Vinc26Vinc26 Membre
    23:21 modifié #206
    Je viens de faire un essai sans les reflets (j'ai désactivé son iterator) : on ne gagne rien que dalle de chez zero !!! Comme tu le disais, Boris, c'est bien la faute à  de trop grandes fenêtres... mais ça, on ne peut rien y faire.
  • MoitahMoitah Membre
    23:21 modifié #207
    PowerMac G4 1 Ghz, 1 Go de ram, Radeon 9800 Pro : en plein écrans sur mon deuxième écran, en 1024*768, 60 FPS.

    C'est magnifique, d'ailleurs, comme ça.
  • GenoseGenose Membre
    23:21 modifié #208
    dans 1132668484:

    Genose : Nous oublie pas : si t'as des avancées, même minimes, parles-en nous ! Histoire de toujours faire avancer le projet dans la bonne direction, et ne pas avoir à  redévelopper des choses qui ne collent pas. Alors ? Y'a vraiment un moyen de chopper le contenu de TOUTES les fenêtres ??? Et si ça prends aussi les icones, comment faire le tri ?


    bon voila le document que j'ai trouver parler du windowServer de Darwin, j'ai posé la question à  des programmeurs sur la list apple dev et on m'a repondu que en réalité il fallait voir cela avec "universal accesibility API ".

    en gros les fenetres sont accesible et les elements graphique répondant a un protocole Cocoa (dans NSObject), peuvent etre recupérer.

    comme je ne pas comment récupérer le pointeur ou je ne sait pas quoi vers l'appli, ben ça n'avance pas.


    voila y'a une possibilité, mais peu etre que quelqu'un avait deja trouvé :P .
  • AliGatorAliGator Membre, Modérateur
    23:21 modifié #209
    Alors là à à à , les gars !!! ???

    Wow la vache, c'est franchement impressionnant, chapeau !! :adios!: :adios!:
    Du plus bel effet.
    Manque un switch pour masquer ou pas le back des fenêtres.
    Genre une face arrière unie en blanc si on a coché la case, et sinon ben garder comme c'est :D ;D
    Et puis la transition sèche entre l'image quand c'est Off et la toute première image de l'animation quand on le passe à  On (ou la toute dernière image quand on le repasse à  Off, puisque c'est la même), ça fait bizarre...
    Mais s'il n'y a que ça franchement, c'est rien, à  côté du travail réalisé <3 <3 <br />Ca a beau être du Quartz Composer donc "que du reliage de boites" (comme si c'était aussi simple :D), ça fait son effet  :kicking:
  • Vinc26Vinc26 Membre
    23:21 modifié #210
    Et puis la transition sèche entre l'image quand c'est Off et la toute première image de l'animation quand on le passe à  On (ou la toute dernière image quand on le repasse à  Off, puisque c'est la même), ça fait bizarre...


    Je pense que tu veux dire que ce qui fond pour disparapitre avant que l'anim se lance n'est pas bien en face du reste ?... en effet... ça vient du fait que les dimension de ton écran ne sont pas les mêmes que celles de mon écran. C'est un défaut qui n'apparaà®tra jamais sur la version finale. Si tu veux parler d'un autre probleme, tu pourrais préciser ? Ca nous aiderait à  fignoler.

    Pour faire que l'arrièe des fenêtres soit blanc... pourquoi pas. A tester... mais on risque de se retrouver avec beaucoup de blanc par moment.

    Voilà . Ravi que ça te plaise ! Au fait ? ça tourne à  combien de FPS sur ta machine ?

    Et puis... on cherche toujours quelqu'un pour développer la partie Cocoa !!! (récupérer les contenu de fenêtre selon la methode de SuperMic, puis envoyer le tout au module QuartzComposeur... voir post http://www.objective-cocoa.org/forum/index.php?topic=612.msg14483#msg14483 )

    ;)
  • Vinc26Vinc26 Membre
    23:21 modifié #211
    dans 1133001839:

    bon voila le document que j'ai trouver parler du windowServer de Darwin, j'ai posé la question à  des programmeurs sur la list apple dev et on m'a repondu que en réalité il fallait voir cela avec "universal accesibility API ".

    en gros les fenetres sont accesible et les elements graphique répondant a un protocole Cocoa (dans NSObject), peuvent etre recupérer.

    comme je ne pas comment récupérer le pointeur ou je ne sait pas quoi vers l'appli, ben ça n'avance pas.


    Si je te comprends bien, on en revient à  la methode de SuperMic : On ne peut récupérer que les fenêtres Cocoa ?

    Je pense que nous devrions terminer une première version de cet économiseur. s'il a suffisement de succès et de retentissement, peut-être qu'un développeur (des chez Apple ?) se penchera sur la question, et nous pondra quelques ligne pour récupérer toutes les fenêtre .

    Donc, là , maintenant, ce qui nous manque, ce n'est pas de récupérer plus de fenêtre, c'est de faire le module Cocoa qui fera de ce projet un vrai économiseur d'écran :D

    Qui ne tente rien n'a rien !!!
Connectez-vous ou Inscrivez-vous pour répondre.