Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » OpenGL » Raster

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.12.2005, 20:08 Uhr
Moe



Hi!

Ich gucke aus eine isometrischen Perspektive auf ein Raster von Linien auf dem Boden. Auf dem Bildschirm befindet sich der Mauszeiger, den ich mittels SDL auslesen kann.
Wenn der Mauszeiger in die Nähe eines Schnittpunktes kommt soll die entsprechenden beiden Linien eingefärbt weden.
Das Raster wird folgendermaßen erstellt:

C++:
glColor3f(1.0, 1.0, 1.0);
glLineWidth(5.0);
glBegin(GL_LINES);
for(int loop = 0; loop < 1024; loop++){
    glVertex3f(loop,0,floor);
    glVertex3f(loop,1024,floor);
    glVertex3f(0,loop,floor);
    glVertex3f(1024,loop,floor);
}
glEnd();

floor ist die Höhe und kann mittels Tastatur um 1 erhöht oder verringert werden.

Wie kommt man mittels der Mausposition an den nächstliegenden Schnittpunkt? Irgendwie muss ich meine 2d-Mausbewegung in dieser 3d-Welt wiederfinden, aber ich hab keine Ahnung wie: HILFE!

Grüße,
Moe

PS: x und y sind Wände, z geht vom Boden zum Himmel
PPS: Frohe Weihnachten!

Dieser Post wurde am 24.12.2005 um 20:09 Uhr von Moe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.12.2005, 00:08 Uhr
Drager



hoi,

also wenn ich dich richtig verstanden habe, willst du die 2d koordinaten deiner maus in die 3d welt projezieren??

wenn ja, kannst du das mit "gluProject" machen.. das nimmt die aktuelle projektionsmatrix und rechnet die 2d bildschirm koordinaten in 3d koordinaten um ("picking")

und dann mit hilfe dieser 3d koordinaten , den abstand zu allen rasterpunkten ausrechnen, und den niedrigsten nehmen...

Dieser Post wurde am 25.12.2005 um 00:09 Uhr von Drager editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.12.2005, 09:20 Uhr
Oliver
S2-Pixelgeneral


Ich würde einfach die Koordinaten deiner Linien in 2D "projezieren", wenn man das so nennen kann. Lass einfach die Z-Koordinate weg und hast deine 2D - Koordinaten, denn bei Isometrie hat man ja orthogonale Projektion mit ner leichtern Drehung.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ OpenGL ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: