Ganon@work
2004-10-13, 11:10:46
Hi.
Ich habe ein (hoffendlich) kleines Problemchen bezüglich GLUT (mit GLUI-Erweiterung)/OpenGL/C++.
Und zwar bräuchte ich einen 2D-Sichtpunkt auf das Koordinaten-System von OpenGL bezogen auf das GLUT-Fenster.
Also das GLUT-Fenster hat jetzt z.B. eine Auflösung von 640x480 (veränderbar). Die Bildschirmkoordinate 0x0 (ich weiß jetzt nicht wo GLUT da anfängt. oben links oder unten links) sollte nun der OpenGL-Koordinate 0.0.0 entsprechen.
Der GLUT-Punkt 120x380 sollte nun ebenfalls der OpenGL-Koordinate 120.380.0 entsprechen. 640x480 sollte dann 640.480.0 in OpenGL sein.
Also praktisch die Standard-Mal-Funktionen von Java, Delphi, etc. so nachbilden, ohne großes umherrechnen.
Wenn ich dann z.B. eine Linie so ziehe (Auflösung 800x600):
glVertex3f(0.0,0.0,0.0)
glVertex3f(800.0,600.0,0.0)
dann sollte eine Linie quer über das Bild gehen von der einen bis zur anderen Ecke.
Was muss ich dafür machen, bzw. welche Befehle brauche ich?
Danke. :)
Ich habe ein (hoffendlich) kleines Problemchen bezüglich GLUT (mit GLUI-Erweiterung)/OpenGL/C++.
Und zwar bräuchte ich einen 2D-Sichtpunkt auf das Koordinaten-System von OpenGL bezogen auf das GLUT-Fenster.
Also das GLUT-Fenster hat jetzt z.B. eine Auflösung von 640x480 (veränderbar). Die Bildschirmkoordinate 0x0 (ich weiß jetzt nicht wo GLUT da anfängt. oben links oder unten links) sollte nun der OpenGL-Koordinate 0.0.0 entsprechen.
Der GLUT-Punkt 120x380 sollte nun ebenfalls der OpenGL-Koordinate 120.380.0 entsprechen. 640x480 sollte dann 640.480.0 in OpenGL sein.
Also praktisch die Standard-Mal-Funktionen von Java, Delphi, etc. so nachbilden, ohne großes umherrechnen.
Wenn ich dann z.B. eine Linie so ziehe (Auflösung 800x600):
glVertex3f(0.0,0.0,0.0)
glVertex3f(800.0,600.0,0.0)
dann sollte eine Linie quer über das Bild gehen von der einen bis zur anderen Ecke.
Was muss ich dafür machen, bzw. welche Befehle brauche ich?
Danke. :)