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 :

[Sprite][Filtrage] Conserver la pixellisation d'une texture redimensionnée ?


Sujet :

DirectX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 34
    Points
    34
    Par défaut [Sprite][Filtrage] Conserver la pixellisation d'une texture redimensionnée ?
    Voilà un petit problème frustrant.

    Habituellement, on cherche davantage à avoir des filtrages de texture toujours plus réussis et beaux. Moi c'est le contraire, je souhaiterai si possible conserver la pixellisation de la texture au maximum.

    Les textures que j'utilise sont créées via la commande D3DXTextureCreateFromFile. Je charge 1 seul niveau de mipmap, avec les paramètrse de filtrage d'image et de mipmap avec D3DXFILTER_NONE.

    Lorsque j'utilise les textures chargées avec des sprites, pas de problème, ceux-ci sont parfaitement identiques à l'image de base. Problème, une fois les sprites agrandis, la texture l'est elle aussi, et se retrouve avec un filtrage... Qui en lui-même n'est pas dérangeant, mais qui provoque l'apparition d'artefacts déplaisants sur la texture du sprite.

    Deux screenshots : le premier en taille normale, le second, après redimensionnement x2, avec apparition d'artefacts :

    Screenshot 1.
    Screenshot 2.
    (si un joli 403 apparaît, copier manuellement le lien et le coller dans un nouvel onglet/fenêtre fonctionnera)

    Ce que je souhaiterai, c'est qu'après redimensionnement double en x et y un pixel en valle exactement 2 en x et y, et qu'aucun filtrage de quelque sorte que ce soit n'intervienne.

    Comment faire ?

  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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 34
    Points
    34
    Par défaut
    Merci pour la réponse

    SetSamplerState ... J'étais tombé dessus par hasard dans la doc (Nearest-Point Sampling), j'ai testé et pas tout compris quant à son utilisation (échoué, donc, tout reste filtré)...

    Les deux derniers paramètres ne me pose pas de problème, en revanche, le premier "sampler" et censé être un index de texture... Et là je bloque. J'ai bien trouvé un SetTexture qui semblerait être en relation, sans en être certain (plantage..). Qu'est-ce qu'exactement cet index, et comment indiquer à quelle texture il fait référence ?

  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 : 40
    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
    Ca fait référence à l'unité de texture, pas à la texture directement. Sachant que pour utiliser une texture (SetTexture), tu la mets sur une unité.
    Si tu ne fais pas de multitexturing ou de trucs un peu tordus, ça devrait toujours être l'unité 0.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 50
    Points : 34
    Points
    34
    Par défaut
    Dans ce cas la commande n'a aucun effet sur mon programme... Curieux.
    Probablement dû au fait que ce n'est pas moi-même qui créé le device ... Que je ne fait que l'utiliser à travers une dll. Enfin, c'est une supposition. Je vais devoir chercher je sens :/

Discussions similaires

  1. Color key d'une texture
    Par Freakazoid dans le forum DirectX
    Réponses: 9
    Dernier message: 07/07/2004, 16h48
  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