IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Silverlight Discussion :

Tutorial sur l'utilisation des Pixel Shaders SL3 en ligne


Sujet :

Silverlight

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 159
    Points : 259
    Points
    259
    Par défaut Tutorial sur l'utilisation des Pixel Shaders SL3 en ligne
    Bonjour à tous,

    Je viens de mettre en ligne un petit tutorial où je me suis amusé avec les nouveaux Pixel Shaders présents dans Silverlight 3 : http://blogs.msdn.com/davrous/archiv...erlight-3.aspx

    N'hésitez pas à me dire ce que vous en pensez.

    Enjoy!

    David Rousset
    Microsoft France

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ah bien j'ai le mien qui est en route aussi.

    Par contre je vais essayer d'expliquer un peu de HLSL et de montrer d'autres exemples de code, mais bon petit problème de math pour moi aussi

    Sinon bravo

    Question subsidiaire : tu utilises Live Writer pour tes billets ? Si oui c'est quoi les plugins pour inclure une animation SL et celui pour poster un fichier sur Skydrive ?

    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 159
    Points : 259
    Points
    259
    Par défaut
    Hello Skyounet,

    J'utilise un peu de tout : Word au début, puis Live Writer puis un peu d'édition HTML directe des fois. Je n'ai pas trouvé encore de solution convenant à mes besoins (code couleur simple, etc.).

    Pour l'intégration d'application Silverlight, je les pose sur Silverlight Streaming (gratuit pour 10 Go) : http://silverlight.live.com qui me génère le code embedded à inscrire. Pareil pour Skydrive: une fois le fichier téléchargé, tu peux demander à générer un code embedded.

    Bye,

    David

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Hello David,

    Super billet J'aurais cependant rajouter une petite chose à ce que tu as écris, c'est-à-dire la façon dont on définit des propriétés utilisables par les PS (je veux parler par là des DP et des PixelShaderConstantCallback

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    #region Dependency Properties
     
            public static DependencyProperty RadiiProperty = DependencyProperty.RegisterAttached("Radii", typeof(Point), typeof(MagnifyShaderEffect), new PropertyMetadata(new Point(0, 0), PixelShaderConstantCallback(0)));
            public static DependencyProperty CenterProperty = DependencyProperty.RegisterAttached("Center", typeof(Point), typeof(MagnifyShaderEffect), new PropertyMetadata(new Point(0, 0), PixelShaderConstantCallback(1)));
            public static DependencyProperty AmountProperty = DependencyProperty.RegisterAttached("Amount", typeof(double), typeof(MagnifyShaderEffect), new PropertyMetadata(0.0, PixelShaderConstantCallback(2)));
     
            /// <summary>
            /// Gets or sets the radii.
            /// </summary>
            /// <value>The radii.</value>
            public virtual Point Radii
            {
                get
                {
                    return ((Point)(GetValue(RadiiProperty)));
                }
                set
                {
                    SetValue(RadiiProperty, value);
                }
            }
     
            /// <summary>
            /// Gets or sets the center.
            /// </summary>
            /// <value>The center.</value>
            public virtual Point Center
            {
                get
                {
                    return ((Point)(GetValue(CenterProperty)));
                }
                set
                {
                    SetValue(CenterProperty, value);
                }
            }
     
            /// <summary>
            /// Gets or sets the amount.
            /// </summary>
            /// <value>The amount.</value>
            public virtual double Amount
            {
                get
                {
                    return ((double)(GetValue(AmountProperty)));
                }
                set
                {
                    SetValue(AmountProperty, value);
                }
            }
     
            #endregion
    et le code HLSL faisant appel au register(C0), register(C1), etc...

    Sinon, vraiment nickel !

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 159
    Points : 259
    Points
    259
    Par défaut
    Merci Thomas pour cette précision!

    C'est effectivement la manière dont est implémenté la librairie utilisée dans le billet. Je voulais rester "simple" d'accès sans rentrer dans ce genre de détails.

    Je vous propose d'ajouter un lien vers ce fil de discussion depuis mon billet de blog. Cela permettra d'avoir une mise à jour plus dynamique!

    David

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,

    L'article de David est très intéressant.

    J'ai aussi récemment travaillé sur le sujet pour co-produire un générateur de code HLSL, Perspective FX, qui peut être utile à ceux que l'écriture de code HLSL rebute ou au contraire à ceux qui souhaitent apprendre HLSL.

    Le principe consiste à générer une classe d'effet (WPF ou Silverlight) par assemblage de filtres graphiques, comme en photographie. Chaque filtre génère le code HLSL correspondant à un effet de base (tonalité, inversion, solarisation, etc.). L'assemblage des filtres peut être décrit en XAML.

    Plus d'informations :
    http://perspectivefx.codeplex.com/

  7. #7
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Merci David pour cet excellent tuto et le webcast qui va avec...

    J'aimerai appliquer cet effet dans une application wpf, dois-je m'attendre à beaucoup de recodage ou bien ce code est-il facilement portable en WPF?

    J'avoue ne mettre réellement renseigné sur le sujet, je vous remercie de vos éventuels conseils.

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par roster Voir le message
    J'aimerai appliquer cet effet dans une application wpf, dois-je m'attendre à beaucoup de recodage ou bien ce code est-il facilement portable en WPF?
    Que l'on soit en WPF ou en Silverlight, le code HLSL ne change pas donc en termes de portabilité, pas de soucis

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 159
    Points : 259
    Points
    259
    Par défaut
    Merci Olivier pour ces infos. By the way, j'ai amené ton bouquin sur SL pour le lire sur les plages de Bourgognes :-)

    A+

    David

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/10/2006, 16h03
  2. Réponses: 2
    Dernier message: 09/06/2006, 13h33
  3. incompréhension sur l'utilisation des sessions
    Par cladsam dans le forum Langage
    Réponses: 12
    Dernier message: 31/01/2006, 12h28
  4. 3 précisions sur l'utilisation des "std::vector"
    Par Invité dans le forum SL & STL
    Réponses: 9
    Dernier message: 10/01/2006, 00h42
  5. Compteur sur l'utilisation des index
    Par hkhan dans le forum Administration
    Réponses: 11
    Dernier message: 14/10/2004, 17h57

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