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 :

Locker une texture de RENDERTARGET ???


Sujet :

DirectX

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut Locker une texture de RENDERTARGET ???
    Salut, j'ai besoin de pouvoir locker une texture de type D3DUSAGE_RENDERTARGET pour pouvoir copier les données dans une texture dynamique et pouvoir "flouter" celle ci lors de l'affichage puisque ca n'a pas l'air d'etre possible autrement.
    Merci

  2. #2
    Membre actif Avatar de ShadowTzu
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 296
    Points
    296
    Par défaut
    pourquoi ne pas utiliser un pixel shader?

  3. #3
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Il faut que ta texture de rendu soit lockable. Il y a un flag ou un paramètre à passer pour ça lorsque tu la crées. A moins que ce ne soit que les surfaces de rendu qui soient verrouillables -- enfin regarde du côté de la doc.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut
    Je refuse d'utiliser les pixelshader, question de principe

    Je sais qu'on peut faire un backbuffer lockable mais pour les textures de rendu j'ai un doute, je vais chercher.

  5. #5
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    IDirect3DDevice9::CreateRenderTarget
    Creates a render-target surface.

    HRESULT CreateRenderTarget(
    UINT Width,
    UINT Height,
    D3DFORMAT Format,
    D3DMULTISAMPLE_TYPE MultiSample,
    DWORD MultisampleQuality,
    BOOL Lockable,
    IDirect3DSurface9** ppSurface,
    HANDLE* pSharedHandle
    );
    Comme je l'avais dit, cette fonction ne traite que des surfaces, mais a priori tu n'as de toute façon pas besoin d'une texture pour ce que tu veux faire.

  6. #6
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut Re: Locker une texture de RENDERTARGET ???
    Citation Envoyé par supergrey
    Salut, j'ai besoin de pouvoir locker une texture de type D3DUSAGE_RENDERTARGET pour pouvoir copier les données dans une texture dynamique et pouvoir "flouter" celle ci lors de l'affichage puisque ca n'a pas l'air d'etre possible autrement.
    Je voudrais juste dire que ce n'est pas viable comme solution. Tout ce qui requiert de lire avec le CPU des données rendues pour les réintroduire dans le pipeline est à déconseiller dans toutes les situations.

    Essaie de trouver une autre méthode pour faire ce que tu veux faire (quelqu'un à suggéré les pixel shaders mais tu peux également faire du flou avec un simple rendu dans une texture et les fonctions du fixed function pipeline(blending, bilinear/anisotropic filtering)), ou modifie tes plans.

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut
    Au départ je voulais juste augmenter le MAXMIPMAP sur cette texture mais ca ne fonctionne pas surement parceque c'est une surface de rendu.
    Le flou est plus que leger, on voit les pixels.
    Normalement ca ne devraist pas trop ramer c'est une texture de 128x128 ou pire 256x256
    Je vais essayer d'adapter ma source avec CreateRenderTarget.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut
    Bon j'ai réussit a recopier la surface de rendu dans la surface d'une texture dynamic mais ca ne fait toujours aucun flou.
    Je pense que c'est parcequ'elle n'a qu'un niveau de mipmap, j'ai essayé de faire pareil dans une texture qui a plusieur niveau de mipmap mais ca affiche des choses bisard, comment puis je faire?

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/08/2007, 16h28
  2. comment modifier une texture?
    Par tibyann dans le forum DirectX
    Réponses: 6
    Dernier message: 16/06/2004, 15h27
  3. Charger 16x16 sur une texture 256x256
    Par Johngame dans le forum DirectX
    Réponses: 4
    Dernier message: 06/03/2004, 17h16
  4. Chargement d'une texture a partir de la mémoire
    Par logramme dans le forum DirectX
    Réponses: 6
    Dernier message: 27/01/2003, 14h57
  5. Changer l'image d'une texture
    Par alltech dans le forum DirectX
    Réponses: 5
    Dernier message: 21/08/2002, 01h31

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