Reflet vidéo !

22:41 modifié dans API AppKit #1
Bonjour tout le monde,

J'aimerai refléter une video, comme à  la frontrow ! Cependant je ne vois pas comment faire, et je me vois mal foutre une NSTimer qui récupère l'image actuelle de la vidéo toutes les 0.01 seconde pour en faire ensuite un reflet...

Si quelqu'un a une idée, pas trop gourmande en ressources, je suis preneur !

Merci d'avance,
Louka

Réponses

  • Eddy58Eddy58 Membre
    22:41 modifié #2
    Là , il faut passer par OpenGL je pense. :o
  • AliGatorAliGator Membre, Modérateur
    22:41 modifié #3
    Ou QuartzComposer.
  • 22:41 modifié #4
    dans 1183039137:

    Ou QuartzComposer.


    Pas bête ! J'y avais pas pensé ! J'vais voir ce que je peux faire !

    Merci à  vous deux ;-)
    Au pire je prendrai OpenGL, mais QuartzComp me semble quand même bcp plus simple !
  • AliGatorAliGator Membre, Modérateur
    juin 2007 modifié #5
    Oui et d'ailleurs je me demande même si tu trouveras pas des exemples tout faits.

    Mais bon vu comment ça risque d'être simplissime à  faire avec QuartzComposer (j'adore cet outil :P)...
    Un VideoInput, une boite qui fait un flip vertical, puis une autre qui applique ensuite un masque à  l'image (masque/couche alpha = juste un dégradé de l'opaque vers le tout transparent, pour faire l'effet reflet justement). Et tu as ton reflet. Tu combines ça avec l'image d'origine non modifiée (pour avoir l'image ET le reflet) et tu as ta sortie.
    Pouf pouf.
  • 22:41 modifié #6
    Pour l'instant, en 2 - 2, j'ai fait ça :



    [Fichier joint supprimé par l'administrateur]
  • 22:41 modifié #7
    Voilà  j'ai retourné le reflet à  180°, mais je trouve pas comment jouer sur le dégradé  :why?:
  • AliGatorAliGator Membre, Modérateur
    juin 2007 modifié #8
    Je viens de tenter, c'est pas compliqué : une transformation avec scaling Y à  -1.

    Du coup je me suis pris au jeu, je t'ai fait un petit .qtz
    T'inquiète il peut paraà®tre un peu complexe du coup (et encore) mais c'est parce que j'ai voulu hiérarchiser ça et le rendre propre et générique, et que je l'ai amélioré petit à  petit.

    Au final j'ai un patch "Reflect Renderer" qui prend en entrée une image, la position à  laquelle tu veux rendre l'image, l'intensité du reflet, et la taille de rendu (en unités QC, pour rappel le viewport fait une taille de 2, il va de -1 à  1), et il rend l'image et son reflet. Magique.

    Je te laisse regarder comment j'ai organisé le tout, en gros :
    - le patch est constitué d'un sous-patch "Reflect Generator" qui génère le reflet (image retournée verticalement) et son masque (couche alpha) + d'un autre sous-patch pour calculer le Y du reflet selon le Y de l'image, de sorte que ça le place en dessous.
    - Et le truc intéressant est juste dans le "Reflect Generator" qui d'un côté flip l'image verticalement et de l'autre prend un "Linear Gradient" et le transforme en masque.

    [Fichier joint supprimé par l'administrateur]
  • 22:41 modifié #9
    Merciii mon chouxxx !  :o
Connectez-vous ou Inscrivez-vous pour répondre.