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

XNA/Monogame Discussion :

Comment faire pour créer un effet de brouillard dans XNA avec un effet custom ?


Sujet :

XNA/Monogame

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2010
    Messages : 96
    Points : 72
    Points
    72
    Par défaut Comment faire pour créer un effet de brouillard dans XNA avec un effet custom ?
    J'ai développé un petit jeu XNA en 3D. Je voudrais ajouter un "brouillard de guerre" sur mes modèles instanciés avec un effet de mon fichier (.fx) [custom effet]. Le problème, c'est que je ne sais pas comment changer la fonction "PixelShaderFunction" afin d'y appliquer mon brouillard.

    Attention ne me demandé pas d'utiliser la class "BasicEffect" , je sais qu'il est très simple d'y appliquer un brouillard avec cette class. Mais je cherche à créer un effet custom car j'utilise du modelInstancing.

    merci mille fois

    [File. Fx]

    Voici la déclaration de mes variables dans mon fichier d'effet custom (fx.):

    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
     
    // InstancedModel.fx
    //
    // Microsoft XNA Community Game Platform
    // Copyright (C) Microsoft Corporation. All rights reserved.
    //-----------------------------------------------------------------------------
     
    // Camera settings.
    float4x4 World;
    float4x4 View;
    float4x4 Projection;
     
    //Fog settings
    float FogNear;
    float FogFar;
    float4 FogColor;
    Et ma fonction "PixelShaderFunction" dans mon fichier d'effet (fx.):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Both techniques share this same pixel shader.
    float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
    {
        return tex2D(Sampler, input.TextureCoordinate) * input.Color;
    }

  2. #2
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Regarde comment ils s'y prennent dans le shader de basiceffect :
    http://xbox.create.msdn.com/en-US/ed...c_effectshader
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

Discussions similaires

  1. Réponses: 12
    Dernier message: 18/04/2007, 19h13
  2. Comment faire pour créer une boucle ?
    Par Arko76 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 02/04/2007, 17h14
  3. Réponses: 7
    Dernier message: 21/12/2006, 08h02
  4. Comment faire pour créer son master boot record
    Par HNT dans le forum Ordinateurs
    Réponses: 3
    Dernier message: 19/09/2005, 20h58
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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