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

Aktuelle Zeit: Mo Jul 14, 2025 21:44

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Kamera fragen
BeitragVerfasst: Fr Aug 29, 2003 14:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 08, 2003 15:49
Beiträge: 266
Wohnort: Aachen
Wie sollte man Intern die Kamera verwalten? Sollte man sich eine Klasse schreiben. Arbeitet man mit gluLookAt oder mit glRotatef, glTranslatef?
Wie macht man Kamera Fahrten. Stehen die Positionen in einer Datei, diese werden ausgelesen und dort wird dann die Kamera gesetzt oder wie?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Kamera fragen
BeitragVerfasst: Fr Aug 29, 2003 14:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
TOpenGL hat geschrieben:
Sollte man sich eine Klasse schreiben.

Kommt drauf an was du von deiner Kamera alles verlangst.

TOpenGL hat geschrieben:
Arbeitet man mit gluLookAt oder mit glRotatef, glTranslatef?

Spielt keine Rolle...gluLookAt macht auch nichts anderes als die aktuelle Matrix an die übergebenen Parameter anzupassen.Das geht mit glRotatef, glTranslatef oder glLoadMatrixf auch.

TOpenGL hat geschrieben:
Wie macht man Kamera Fahrten. Stehen die Positionen in einer Datei, diese werden ausgelesen und dort wird dann die Kamera gesetzt oder wie?

Ja, wo sollen die Kamerapositionen denn sonst gespeichert werden?Und je nach Anforderung wird dann entweder linear oder in Form einer Kurve zwischen den Kamerapunkten interpoliert.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2003 14:54 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Wie man intern die Kamera verwaltet hängt auch vom Spiel ab. Bei den Shootern gibt es meistens eine Kameraposition und drei Rotationswinkel.
Das geht natürlich nicht, wenn man z.B fliegt und sich frei um alle Achsen drehen kann.
Eine Idee für eine allgemeine Kamera wäre die Position, einen Vektor nach vorne und einen Vektor nach oben zu speichern. Also im Prinzip fast genau das, was man auch an gluLookAt übergibt. Diese Vektoren kann man dann beliebig drehen oder aus den drei Rotationswinkeln generieren.
Eine Klasse daraus zu machen ist eigentlich keine schlechte Idee.
Für Kamerafahrten verwendet man Kontrollpunkte und berechnet dann zwischen den Kontrollpunkten Kurven, damit die Kamerabewegung sich nicht abrupt ändert. Dazu kann man Bezier Kurven nehmen.

Nachtrag: Während ich geschrieben habe, gab es schon eine Antwort von SoS, deshalb überschneiden sich die Beiträge teilweise.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2003 17:00 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 10:37
Beiträge: 251
Wohnort: Ulm
Beim fliegen hat man doch auch nur 'drei' winkel, oder? yaw, pitch und das letzte (name vergessen..). also die eulerschen winkel eben..

edit zum thema kammera gibts in dem buch 'game programming gems' einen (zwei) artikel über vektor-kammeras (im grunde auch nix anderes als gluLooKAt..

_________________
http://www.rochus.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2003 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Aber beim Fliegen dreht man sich nicht im die Achsen der Koordinatensystems sondern um die eigenen Achsen. Das wäre meiner Meinung nach mit Winkeln alleine schwieriger zu realisieren.
Wenn man auf dem Kopft oder der Seite steht und sich dann nach rechts oder links dreht, dreht man sich ja nicht in die gleiche Richtung wie normal. Ich meinte damit Fliegen im Sinne eines Weltraumshooters.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2003 17:48 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 10:37
Beiträge: 251
Wohnort: Ulm
ja klar, so hab ich das eigentlich auch gedacht, aber für mich ist zum beispiel eine kamera folgendes:

Objekt mit:
  • RichtungsVektor
  • Positionsvektor
  • normalenvektor
  • upvektor

und mit dem sind es dann insgesamt 6 winkel, die man irgendwie nutzen kann.. naja, den richtungsvektor kann man mittels (wie es gluLookAt macht) eines punktes, auf den geblickt werden soll.. errechnen, das ist ja nicht die schwierigkeit. und wenn das obige die kammera ist, dann ist es auch völlig egal, ob die kammera für 3rd-person, 1st-person, weltraum, .. spiele genutzt wird, denn über diese 4 vektoren lässt sich alles weitere errechnen.

gruß
rochus[/list]

_________________
http://www.rochus.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2003 18:23 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
wenn man anfängt so viele vektoren zu verwenden, kann man sich acuh gleich den luxus gönnen und mit matrizen arbeiten - so mache ichs immer


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 30, 2003 10:45 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 10:37
Beiträge: 251
Wohnort: Ulm
stimmt schon :D aber bei mir ist gerade der vorteil, wenn ich jetzt (noch) mit vektoren arbeite (ich denke, ich steige bald auf matrizen um), dass ich in das wieder reinkomm, was wir zuletzt (vor den ferien) in der schule gemacht haben.. da ging es nämhlich auch um winkel, vektoren, winkel zwischen vektoren, skalarprodukt und so..

najo :D

gruß
rochus

_________________
http://www.rochus.net


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 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.011s | 16 Queries | GZIP : On ]