Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Hallo zusammen,
ich würde gerne Text auf mein Renderpanel bringen der 'oben auf' liegen soll. Ich kann den Text schon darstellen, aber er befindet sich halt 'in' meiner 3D-Welt, und wenn ich zoome ändern sich auch seine Bildschirmkoordinaten. Gibt's eine Möglichkeit vor mein Viewing-Volume zu schreiben, also direkt die Bildschirmkoordinaten meines Renderpanels zu beschreiben, oder bleibt mir nichts anderes übrig als die Position neu zu berechnen?
Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Ich weiß zwar nicht was HUD ist (...halt jetzt schon, hab mal schnell im Wiki nachgeschaut, ja sowas meine ich ), aber die orthogonale Projektion kenne ich auch schon. Der Rest meiner Welt soll perspektivisch dargestellt werden. Kann ich denn einfach Teile meiner Scene mit unterschiedlichen Projektionsmatrizen rendern?
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Ja. Du kannst Zentralperspektive unbekümmert mit Orthogonalperspektive kombinieren. Ein bisschen Überlegung und Methode brauchts dabei natürlich schon. Aber es geht, denn letztendlich sind es alles nur Punkte, die auf einer Projektionswand landen.
Ich habe dafür zwei Wrapper-Prozeduren:
Code:
Procedure grsOrthoModeON;
Var
Viewport:Array[0..3]Of TInt32;
Begin
glMatrixMode(GL_PROJECTION);
glPushMatrix;
glLoadIdentity;
glGetIntegerv(GL_VIEWPORT,@Viewport);
glOrtho(0,ViewPort[2],ViewPort[3],0,+1,-1);
glMatrixMode(GL_MODELVIEW);
glPushMatrix;
glLoadIdentity;
End;
Procedure grsModeOFF;
Begin
glMatrixMode(GL_MODELVIEW);
glPopMatrix;
glMatrixMode(GL_PROJECTION);
glPopMatrix;
End;
und dazwischen zeichnest Du. Versuchs mal, es ist ganz einfach. glFrustum/gluPerspective geht ganz genauso.
Traude
Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.