Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 16:42

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Mai 27, 2006 09:16 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Hi, ich habe eine art fadenkreuz, was die position meines balles indiziert:
Code:
  1.  
  2. procedure DrawProc;
  3. begin
  4.   DrawRoom(Room);
  5.   DrawBall(Ball);
  6. //LINIEN
  7.   glDisable(GL_TEXTURE_2D);
  8.   glDisable(GL_LIGHTING);
  9.  
  10.   glColor4f(0.5,0,0,0.5);
  11.   glEnable(GL_BLEND);
  12.   glBlendFunc(GL_SRC_ALPHA, GL_DST_COLOR);
  13.   glBegin(GL_LINES);
  14.     //Horizontal
  15.     glVertex3f(-Room.Size.x / 2, Ball.position.y, -Ball.position.z);
  16.     glVertex3f(Room.Size.x / 2,  Ball.position.y, -Ball.position.z);
  17.     //Vertikal
  18.     glVertex3f(Ball.position.x, -Room.size.y / 2, -Ball.position.z);
  19.     glVertex3f(Ball.position.x,  Room.size.y / 2, -Ball.position.z);
  20.   glEnd;
  21.   glDisable(GL_BLEND);
  22.  
  23.   glEnable(GL_TEXTURE_2D);
  24.   glEnable(GL_LIGHTING);
  25. end;
  26.  


jedoch gehen diese linien ja immer nur bis zu wand das raumes, ich würde die gerne über den ganzen bildschirm zeichnen, ich könnte natürlich jetzt die linien um einiges verlängern und beim zeichnen den tiefentest ausschalten, aber wäre das nicht unelegant ? eventuell kommt noch eine andere kamera perspektive hinzu und dann geht das ganze nicht mehr.

mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 28, 2006 16:53 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du kannst mit gluUnProject die Fensterkoordinaten eines Szenenpunktes ermitteln, und dann dein Fadenkreuz,z.B. im Orthomodus über die Szene malen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 28, 2006 16:57 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
das klingt schonmal net übel, das werde ich glaube ich öfters brauchen ;) danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 28, 2006 17:02 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Tschuldige mein Fehler: gluProject ist der richtige Befehl.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 08, 2006 10:13 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Ich hatte nen ähnliches Problem und hab es folgendermaßen gelöst:
als erstes die aktuelle ModelviewMatrix Holen (glGetfloatv), dann invertieren (MatrixInvert in geometry.pas)
dann den Vektror(ScreenX-ScreenMiddleX,-(ScreenY-ScreenMiddleY),0.5*MainRenderHeight/tan(fovy/2);) und den Vektor(0,0,0) mit dieser Matrix transformieren (vovy in rad)
Die Differenz der beiden Vektroren bildet dann den Richtungsvektor, den Transformierten Ursprung nimmst du als Aufpunkt
=> Hast die Gerade durch den Pixel


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]