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

OpenGL Discussion :

Coordonées de texture et point sprite?


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut Coordonées de texture et point sprite?
    Bonjour,

    En texturant un quadrilatère, il est possible de spécifier des coordonées de texture de manière à ce que seule une partie de la texture soit utilisée. Cela permet ainsi d'utiliser des textures dont les dimensions ne sont pas des puissances de 2, et de placer plusieurs images dans une même texture.
    Est-il possible de faire de même avec des point sprites, ou bien dois-je absolument utiliser des quadrilatères constamment orientés face à la caméra ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par _Pipo_ Voir le message
    En texturant un quadrilatère, il est possible de spécifier des coordonées de texture de manière à ce que seule une partie de la texture soit utilisée.
    Tu peux tout a fait n'utiliser qu'une partie de ta texture .. Par exemple, pour utilisé 1/4 de ta texture, tu peux spécifier les coordonnées de texture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    (0;0)
    (0.5;0)
    (0;0.5)
    (0.5;0.5)
    Je te conseille de regarder au niveau de la technique des "texture Atlas".

    Citation Envoyé par _Pipo_ Voir le message
    Cela permet ainsi d'utiliser des textures dont les dimensions ne sont pas des puissances de 2, et de placer plusieurs images dans une même texture.
    C'est formtement déconseillé de ne pas utilisé ce type de texture, car toute les cartes graphiques ne le supporte pas encore . ( texture nonpuissance de 2 )

    Citation Envoyé par _Pipo_ Voir le message
    Est-il possible de faire de même avec des point sprites, ou bien dois-je absolument utiliser des quadrilatères constamment orientés face à la caméra ?
    Je ne comprend pas bien ta question

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut
    Je uis désolé, j'ai du mal m'exprimer... En disant :
    En texturant un quadrilatère, il est possible de spécifier des coordonées de texture de manière à ce que seule une partie de la texture soit utilisée.
    Ce n'était pas une question mal formulée mais bien une affirmation : je parlais justement de la technique de texture atlas. Je parlais également de cette technique en disant :
    Cela permet ainsi d'utiliser des textures dont les dimensions ne sont pas des puissances de 2, et de placer plusieurs images dans une même texture.
    Ta réponse vaut-elle également dans ce cas? Par exemple, avec une texture atlas de 256*256, ne faut-il également prendre que des portions dont les proportions sont des puissances de 2 ?


    Je ne comprend pas bien ta question
    Ce que j'appelle "point sprite" est le fait de texturer un point, comme montré ici : http://helios.univ-reims.fr/Labos/LE...enGL/td16.html

    Ma question est donc : peux-t-on également utiliser la technique de texture atlas avec les "point sprites" ?

  4. #4
    Membre Expert

    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
    Par défaut
    Oui mais avec un "truc" :

    tu modifies les coordonnées de texture dans le pixel shader (fragment program) sachant que le hardware va générer automatiquement pour toi les coordonnées [0..1][0..1], tu peux passer un facteur et une constante pour "déplacer" le rectangle couvert sur ta texture.

    Tu as le choix de passer une constante pour un batch de sprites, ou de passer un ou plusieurs attributs par sprite pour simuler la constante.

    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

  5. #5
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Je vois mieux ce que tu veux dire

    Je ne vais pas rajouté grand chose par rapport à LeGreg à prt peut être que la texture complète doit être en puissance 2 .. mais les "sous-textures" .. peuvent être de n'importe quelle taille.. Tu occupes l'espace comme tu veux .. du moment que tu ajustes tes coordonnées de texture en fonction.

    Pour les sprites, je n'y vois pas spécialement d'objection .... ca reste une texture comme une autre ... enfin, je pense (j'ai jamais utilisé )

  6. #6
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut
    Merci beaucoup à vous deux pour l'aide que vous m'apportez, cependant, je n'ai jamais utilisé le fragment program et je ne trouve pas de documentation sur internet... Comment puis-je, concrètement, modifier les coordonées de texture dans le pixel shader ? Cette méthode fonctionnera-t-elle sur toutes les cartes graphiques pas trop anciennes ?

    Merci d'avance.

Discussions similaires

  1. Ressources gratuites (sprites, textures, modèles 3D, sons)
    Par raptor70 dans le forum Contribuez
    Réponses: 57
    Dernier message: 14/04/2025, 13h46
  2. Transformer un point sprite en sphere
    Par m_power_hax dans le forum OpenGL
    Réponses: 37
    Dernier message: 07/01/2011, 17h52
  3. problème avec les point sprites
    Par conrad dans le forum DirectX
    Réponses: 2
    Dernier message: 14/07/2005, 18h44
  4. particules animées avec point sprites ?
    Par ilimo dans le forum DirectX
    Réponses: 3
    Dernier message: 10/09/2004, 23h12
  5. pb de transparence/texture/sprite
    Par Fikus dans le forum DirectX
    Réponses: 6
    Dernier message: 15/05/2004, 22h38

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