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

Graphisme Java Discussion :

Texture sur une courbe


Sujet :

Graphisme Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Texture sur une courbe
    Bonjour,

    Je suis en train d'essayer de dessiner un réseau routier. J'arrive à tracer mes routes sans problème. J'ai un ensemble d'Objet GeneralPath qui représentent le chemin de ma route. Ce que je voudrais maintenant, c'est réussir a appliquer une texture sur ce chemin pour dessiner mes marquages au sol (des lignes continues ou pointillées).

    J'ai d'abord pensé à utiliser la classe TexturePaint mais c'est la forme qui est appliquée sur la texture avec cette approche. Par conséquent, la texture ne suit pas la route et le marquage au sol est toujours dans le même sens que celui de l'image de référence. (je sais pas si je suis clair, mais en gros ca ne marche pas, enfin pas comme je l'ai utilisé en tout cas)

    J'ai pensé travailler sur l'objet Stroke en lui définissant la largeur de la route que je veux dessiner et au lieu d'afficher une simple couleur affichier mon image (en la répétant régulièrement jusqu'à la fin de la route). Mais je ne sais pas si c'est possible et si ca l'est je ne vois pas trop comment m'y prendre ...

    Si cette 2eme approche n'est pas réalisable je ne vois pas comment résoudre ce problème. Je suis donc ouvert à toutes vos propositions.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Je ne vois pas de bonnes solutions (simples en tout cas) pour ce pb a part utiliser plusieurs sous-chemins disposant chacun d'une variation/derivation de la texture de base en fonction de l'orientation de la route.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'y avait pensé mais ca pose un probleme dans les virages avec des lignes pointillées. Si le virage est trop serré ca ne va afficher que le début de mon image ==> je vais avoir une ligne continue à ce niveau ou un vide dans le marquage selon que je commence l'image par une ligne blanche ou un espace. Enfin si je ne trouve pas d'autre solution, je pense que je vais utiliser celle-ci.

    Sinon, j'avais pensé à une autre approche mais là encore je ne sais pas comment la mettre en place techniquement :
    Je pensais prendre mon image, la dupliquer pour créer une image dont la longueur est égale à celle de la route (j'aurai donc l'image de ma route, mais toute droite). Mais ensuite, je ne sais pas s'il est possible de faire un mapping de l'image sur un objet Shape (Area ou autre, peu importe) qui aurait la forme de ma route.

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Hum nop, je ne crois pas que ca simplierai le pb.

    Euh la seule idee qui me vient est d'utilser un PathIterator avec un pas assez petit pour suivre la courbe de la route et de rendre le chemin en dessinant de petits bouts de l'image-route (tile) orientes correctement en fonction du bout de chemin actuel. Mais la encore il faut detecter des cas speciaux pour rendre la route correctement (ex: virage a angle droit, angle trop important laissant appaitre un trou, etc...). Idem pour la detection des carrefours, rond-points, lignes de stop, etc..... pour lesquels tu devras avoir des tiles speciaux.

    Pour les courbes (SEG_CUBICTO et SEG_QUADTO) on peut approximer la courbe en plusieurs segments de droite. La classe FlatteningPathIterator peut t'aider je pense.



    Quant aux autres endroits ou les bouts de route laissent apparaitre le fond, mais qui ne necessitent pas de tiles particulier... il suffit de peindre la courbe avec un stroke de la largueur de la route avec la bonne couleur ou une texture generique de goudron avant de rendre les tiles par dessus.



    Ca ressemble bien plus a du placage de texture au sens moteur 2D ou 3D dans ce cas qu'a un simple rendu. Cf : SimCity 1 (2D) et Sim City 4 (3D) - mais bon la ils trichent un peu car les routes sont quand meme relativement droites. M'est avis que certains forums de programmation de jeux pourraient t'aider.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. comments placer des delimiteurs sur une courbe?
    Par brindacier dans le forum MATLAB
    Réponses: 4
    Dernier message: 26/03/2007, 19h19
  2. appliquer une texture sur une grille
    Par franc82 dans le forum OpenGL
    Réponses: 6
    Dernier message: 02/03/2007, 16h17
  3. [TChart] Comment utiliser le curseur sur une courbe ?
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/09/2005, 16h49
  4. probleme de texture sur une sphère
    Par sebpp dans le forum OpenGL
    Réponses: 2
    Dernier message: 12/04/2005, 19h46
  5. copier une petite texture sur une grosse texture
    Par gaut dans le forum DirectX
    Réponses: 5
    Dernier message: 15/10/2004, 22h12

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