#0 

28-03-2008 19:53:26

wetneb
Membre
Date d'inscription: 15-04-2007
Messages: 29
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


#1 

29-05-2008 18:30:06

Sakamakak
Membre
Date d'inscription: 28-05-2008
Messages: 18

Ç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


#2 

29-05-2008 20:47:26

wetneb
Membre
Date d'inscription: 15-04-2007
Messages: 29
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


#3 

30-05-2008 02:02:09

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
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


#4 

30-05-2008 07:47:15

wetneb
Membre
Date d'inscription: 15-04-2007
Messages: 29
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


#5 

30-05-2008 09:53:20

Sakamakak
Membre
Date d'inscription: 28-05-2008
Messages: 18

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:

Code:

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 ?

Dernière modification par Sakamakak (30-05-2008 09:57:49)

Hors ligne


#6 

30-05-2008 12:12:32

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

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


#7 

30-05-2008 14:30:33

Sakamakak
Membre
Date d'inscription: 28-05-2008
Messages: 18

firnafin :

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)

Dernière modification par Sakamakak (30-05-2008 14:39:55)

Hors ligne


#8 

30-05-2008 15:30:40

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

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


#9 

30-05-2008 15:41:01

Sakamakak
Membre
Date d'inscription: 28-05-2008
Messages: 18

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é
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
880 membres
1424 sujets
11113 messages
Dernier membre inscrit: mandrifidy
22 invités en ligne
Aucun membre connecté
RSS Feed