Mon projet de mmorpg avance, mais je me heurte à une grande difficultée (j'en fait un peu trop )
Je cherche a faire un cercle avec chaque face pickingable (sur lq je peux cliquer)
cela consiste à dessiner chaque face puis apres chaque face je met mon loadname.
Le probleme est simple, je me demande comment dessiner chaque face d'un cercle.
- pour dessiner un cerle, tu as l'algo de Bresenham pour les cercles qui te permet de dessiner un cercle dans un espace discret (en 2D).
- si tu veux l'approximier en polygones (en triangles) commence par approximer ton cercle en polygone N faces (plus N est grand, plus le cercle est précis) : calcul avec sin et cos pour avoir les sommets de tes polygones
- pour tester si un point (le curseur de la souris par exemple) est dans un cercle, calcule la distance (via pythagorre entre le point testé et le centre du cercle), le point est dans le cercle si et seulement si la distance est inférieure au rayon.
un cercle ou toutes autre formes polygonale est un ensemble de pixel pour un ordinateur (ou un ensemble de carré)
donc tu peut utiliser la même technique que le bouding-box pour créer un cercle et en même temps , puisque tu fait comme le bouding-box justement, tu peux faire un système de picking.
indice: le bouding-box fait des ensemble de pixel et les groupes dans un bouding-box général puis fait des tests dessus
Je cherche a faire un cercle avec chaque face pickingable (sur lq je peux cliquer)
cela consiste à dessiner chaque face puis apres chaque face je met mon loadname.
Outre la géométrie, tu maîtrise aussi très bien l'anglais
merci pour toute vos réponse, je vais m'expliquer...
déja, le jeu est en 3D (c'est une base )
ensuite, je cherche à faire en sorte que des que je clic sur un point du skydome, j'ai miraculeusement ses coordonnées ...
Bon, qui à une idée ???
Je sais, c'est moi qui l'es ouvert , mais c'est plus dur que de cliquer sur un carré (car le carré, je peux savoir ou il est...
La je veux savoir comment connaitre sa position dans une sphere...
(je présise avec le mot sphere car elle sont composée de 'face'(ou plutot de verticle et blablabla...) en opengl)
Donc tu as réussi à "inverser" la matrice de projection. A partir de là, pour la sphère c'est identique.
1) Tu inverses la matrice de projection, ce qui te donne l'équation d'une droite.
2) Tu calcules l'intersection de cette droite avec la sphère, ce qui donne deux points.
3) Tu prends celui des 2 points qui est face à la caméra.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html