#1 

28-03-2008 18:53:26

wetneb
Membres
Avatar de wetneb
Date d'inscription:
Messages: 29
IP: 90.56.127.211
Courriel  Site web

Bonsoir,

La question peut parraître idiote (elle l'est sûrement), mais malgré de longues recherches sur le forum officiel, je n'ai pas trouvé comment dessiner un point (en 2D) à l'écran. Des rectangles, des lignes, pas de problème, ça il sait faire, mais un simple pixel...

J'ai vu une méthode qui consistait à modiffier le driver video pour lui ajouter une méthode setPixel(), mais je doûte que ce soit la meilleure méthode (et je n'ai pas tellement envie d'aller trifouiller dans le driver vidéo). J'ai essayé de dessiner une ligne dont le point de départ et le point d'arrivée sont identiques, mais ça n'a pas marché.

Une solution ?

Merci !


Hors ligne


#2 

29-05-2008 16:30:06

Sakamakak
Membres
Avatar de Sakamakak
Date d'inscription:
Messages: 18
IP: 141.115.28.2
Courriel

Ça tombe bien je suis à la recherche de la même chose.
j'ai testé le dessin d'une ligne ayant les même coordonnées de départ et d'arrivée. Aucun tracé. sad

Toujours pas de solution ?


Hors ligne


#3 

29-05-2008 18:47:26

wetneb
Membres
Avatar de wetneb
Date d'inscription:
Messages: 29
IP: 92.130.30.152
Courriel  Site web

Ben, à priori, rien qui soit vraiment adapté.
Par contre, il est possible qu'en dessinant une ligne dont l'arrivée soit un px plus loin que le départ (dans n'importe quelle direction), on ne dessine qu'un seul px.

ça serait vraiment domage de faire un fork d'irrlicht juste pour ajouter cette feature... big_smile


Hors ligne


#4 

30-05-2008 00:02:09

Copland
Modérateurs
Date d'inscription:
Messages: 657
IP: 86.210.195.73
Courriel  Site web

Heu j'ai jamais testé, mais pour dessiner un pixel, ta coordonée sera forcément 1 pixel plus loin...
Admétons X = 0, X1 sera = 1 pour 1 pixel... non ?
Si tu mets les même coordonées, c'est logique que ça ne dessine rien. Enfin perso je le vois comme ça.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#5 

30-05-2008 05:47:15

wetneb
Membres
Avatar de wetneb
Date d'inscription:
Messages: 29
IP: 92.130.30.152
Courriel  Site web

Pour ma part, je pensais que quand il dessine une ligne, Irrlicht dessine aussi les extrémités quelque soient ses coordonnées.


Hors ligne


#6 

30-05-2008 07:53:20

Sakamakak
Membres
Avatar de Sakamakak
Date d'inscription:
Messages: 18
IP: 141.115.28.2
Courriel

En effet, il serait dommage de "forker" irrlicht pour un détail pareil. Je confirme maintenant pour dessiner un pixel, iol suffit de dessiner une ligne ayant des coordonnées de un pixel d'écart (par exemple (X,Y) / (X+1,Y) )

Mais je travaille sur un outil qui doit permettre de dessiner des zones (pour l'instant 2D planaire) et il me faut reproduire le comportement d'un lasso de sélection.
Mais j'ai trouvé ma solution pour dessiner un lasso, c'était assez élémentaire en fait. Voici un exemple si ça intéresse quelqu'un:

void dessinerLasso()
{
//points est un vecteur de points 2D composants le tracé du lasso
	if(points.size() >= 2)
	{
		for(unsigned int i = 1; i < points.size(); i++)
		{
				driver->draw2DLine(points[i-1], points[i], video::SColor(255, 255, 0,0));
		}
	}
}

Autre chose : Irrlicht fournit-il des algorithmes permettant de déterminer si un élément (un ISceneNode par exemple) est situé dans une zone prédéfinie ?


Hors ligne


#7 

30-05-2008 10:12:32

firnafin
Membres
Avatar de firnafin
Date d'inscription:
Messages: 150
IP: 78.114.49.184
Courriel

Ahaha, tu veux trouver les nodes "dans" le lasso dessiné a l'ecran c'est ca ?
C'et mathematiquement intéréssant , si besoin demande moi je sais comment faire.
Je ne pense vraiment pas qu'il un telle fonction native d'irrlicht .


Hors ligne


#8 

30-05-2008 12:30:33

Sakamakak
Membres
Avatar de Sakamakak
Date d'inscription:
Messages: 18
IP: 141.115.28.2
Courriel

firnafin Ecris:

Ahaha, tu veux trouver les nodes "dans" le lasso dessiné a l'ecran c'est ca ?

C'est exactement ça !
J'ai une scène 3D représentant un arbre de classification phylogénétique d'espèces, la 3D permet plein de manipulations très intéressantes (ça c'était pour préciser le domaine d'application, et merci Irrlicht smile )

L'idée est de permettre à l'utilisateur de tracer un lasso pour sélectionner un ensemble d'espèces, qui ne sont ni plus ni moi que des node de ma scène.

Pour l'instant je travaille sur le tracé du lasso, mais je suis obliger le réaliser en mode pixellaire (vu qu'irrlicht ne fournis pas de tels outils, enfin pas à ma connaissance). Je me retrouve avec la problématique de savoir quels sceneNode sont dans le lasso. (qui lui je le rappelle est en 2D)


Hors ligne


#9 

30-05-2008 13:30:40

firnafin
Membres
Avatar de firnafin
Date d'inscription:
Messages: 150
IP: 78.114.49.184
Courriel

Ouvre peut etre un autre topic , je ne vais pas te repondre la , on parle deja hors sujet ( rappelle : "Dessiner un point ( juste un px )?" ) . smile


Hors ligne


#10 

30-05-2008 13:41:01

Sakamakak
Membres
Avatar de Sakamakak
Date d'inscription:
Messages: 18
IP: 141.115.28.2
Courriel

déplacé au topic : Index -> Mathématiques -> Déterminer si un element est situé dans une zone 2D


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
568 invités en ligne
membre en ligne: -
RSS Feed