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

DirectX Discussion :

Light et Lost device


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Par défaut Light et Lost device
    Bonjour à tous.

    Je me suis apperçue dernièrement que lorsque je faisait un reset de mon device lors d'un redimensionnement de ma dfenêtre), je devais réassigner mes lumières (avec SetLight et LightEnable).

    Est-ce normal ou bien celà viendrait-il d'une erreur malicieusement dissimulée quelque part dans mon programme?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ca peut être normal. Je pense que les render states sont remis à zéro lors du reset du device.
    Pour en être sûr lis la doc, elle explique clairement ce qui est fait lors du reset.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Par défaut
    En effet :
    Reset causes (...) all state information to be lost
    Je pensais naturellement au RenderState, filtres et tous le tralala. Je viens de découvrir qu' en fait beaucoup plus est perdu...

    Mais bon, au moins ce n'est pas une erreur qui s'était glissé je ne sais ou !

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tout cela est également détaillé dans la FAQ :
    http://jeux.developpez.com/faq/direc...ES_perte_focus


  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Par défaut
    Cela concerne :

    * Toutes les ressources (textures, surfaces, buffers, ...) créées dans le pool D3DPOOL_DEFAULT.
    * Les éventuelles swap chains additionnelles.
    * Les renderstates, qui auront repris leur valeur par défaut.
    Pour moi, le fait qu'une Light soit assignées à un ID et le fait qu'elle soit allumé ou non n'était pas un RenderState.

    Comme je l'ai dit la doc parle de **state information**. Après une recherche pour savoir ce qu'elle entendait par **state**, j'ai trouvé: ça .

    Dans mon cas, il faut voir ici .

    Comme on le voit, il y a bien plus que les RenderState. Générallement, celà ne pose pas de problèmes, car envoie ces données au CPU à chaque frame. Mais si on se dit comme je l'ai fais (bêtement!!): "boah ce truc c'est constant, j'ai qu'à l'envoyer une fois lors de l'initialisation" ... aie

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Par défaut
    D'ailleurs peut-être serait-il bien de préciser la FAQ avec quelque chose du style:

    Cela concerne :

    * Toutes les ressources (textures, surfaces, buffers, ...) créées dans le pool D3DPOOL_DEFAULT.
    * Les éventuelles swap chains additionnelles.
    * Les renderstates, les samplerstates, les texturestates qui auront repris leur valeur par défaut.
    * Les paramètres de rendus comme les lumières, les matrices, la déclaration de vertex courante, le matériel courant, ...
    Il est donc judicieux d'envoyer tous les paramètres nécessaires au rendu au moins une fois par frame.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/04/2014, 16h44
  2. Perte du device en plein écran
    Par Dranor dans le forum DirectX
    Réponses: 2
    Dernier message: 10/09/2003, 09h24
  3. Faire une liste de device??
    Par jackjack dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2003, 14h43
  4. Mesh & Light
    Par MAx44 dans le forum DirectX
    Réponses: 4
    Dernier message: 27/04/2003, 11h11
  5. Traduire du DSP pour ADSP2181 de Analog Devices en C
    Par Aramis dans le forum Autres architectures
    Réponses: 4
    Dernier message: 14/06/2002, 12h03

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