Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2009
    Messages : 159
    Points : 245
    Points
    245

    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
    Rédacteur/Modérateur

    Avatar de Skyounet
    Homme Profil pro Benjamin Roux
    Expert Silverlight et Windows Phone
    Inscrit en
    mars 2005
    Messages
    6 382
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin Roux
    Âge : 27
    Localisation : Canada

    Informations professionnelles :
    Activité : Expert Silverlight et Windows Phone
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2005
    Messages : 6 382
    Points : 12 288
    Points
    12 288

    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 ?

    Mon Blog
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso


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

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2009
    Messages : 159
    Points : 245
    Points
    245

    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 168
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 9 168
    Points : 19 270
    Points
    19 270

    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 :
    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 confirmé

    Profil pro
    Inscrit en
    juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2009
    Messages : 159
    Points : 245
    Points
    245

    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
    Invité de passage
    Inscrit en
    août 2009
    Messages
    1
    Détails du profil
    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 éclairé Avatar de roster
    Inscrit en
    décembre 2008
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 397
    Points : 384
    Points
    384

    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 168
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 9 168
    Points : 19 270
    Points
    19 270

    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 confirmé

    Profil pro
    Inscrit en
    juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2009
    Messages : 159
    Points : 245
    Points
    245

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •